English 中文(简体)
WCF - 向合同之外的服务器发送数据
原标题:WCF - Sending data to server outside of contract
  • 时间:2009-10-14 17:52:42
  •  标签:

我有一份有客户申请的周转基金服务。 我完全控制客户和服务器的安装。 我在WCF合同中采用数百种方法,需要客户提供的材料。 我不是修改数以百计的方法,而是能够向客户发出每次电话的具体数据,可能是在渠道的某个地方?

或许当客户在发出呼吁之前就设立代理机构时,它可以将这一数据存放在代理人的内部财产中......然后数据被送至服务器,然后从服务方法中,我可以检查“Context”行动或其他一些记忆,以收回和使用这些数据?

任何想法?

最佳回答

如同你一样,它想要的是像“SOAP”网络服务的负责人。 I m not a WCF expert, but this ,如WCF当量

问题回答

你可以轻视地这样做。 它将开展一些工作。

确实,SOAP负责人是将班外数据输入和(或)从服务处传送的完美途径。 但是,你已经确定了合同,增加负责人将改变合同。

我认为,你不得不开始使用电文合同。

原件:

[DataContract]
public class ComplexObject
{
    [DataMember(Name = "Id")] 
    public int Id;

    [DataMember] 
    public string Name;
}

[ServiceContract()]
public interface IMyContract
{
    void MyOperation(ComplexObject co);
}

public class MyService : IMyContract
{
    #region Implementation of IMyContract

    public void MyOperation(ComplexObject co)
    {
        // use co.*
    }

    #endregion
}

利用电传合同:

[DataContract]
public class ComplexObject
{
    [DataMember(Name = "Id")] 
    public int Id;

    [DataMember] 
    public string Name;
}

[DataContract]
public class MyHeader
{
    [DataMember]
    public string UserName;

    [DataMember]
    public string Password;
}

[DataContract]
public class OutputHeader
{
    [DataMember]
    public string Token;
}

[MessageContract]
public class MyOperationRequest
{
    [MessageHeader]
    public MyHeader Authentication;

    [MessageBodyMember]
    public ComplexObject TheObject;
}

[MessageContract]
public class MyOperationResponse
{
    [MessageHeader] 
    public OutputHeader OutputHeader;
}

[ServiceContract()]
public interface IMyContract
{
    MyOperationResponse MyOperation(MyOperationRequest request);
}

public class MyService : IMyContract
{
    public MyOperationResponse MyOperation(MyOperationRequest request)
    {
        // use request.TheObject.*
        // Can also read request.Authentication.*

        return new MyOperationResponse 
               { OutputHeader = new OutputHeader { Token = "someToken" } };
    }
}




相关问题
热门标签