【问题标题】:WCF service contract and data contractWCF服务合同和数据合同
【发布时间】:2011-03-18 09:21:15
【问题描述】:

我有以下代码

  [ServiceContract(Namespace = "http://www.myweb.com/prod")]
        public interface IBaseService
        {
    [OperationContract]
    public string GetName(IDMessageContract ID)
    }

    [ServiceContract(Namespace = "http://www.myweb.com/prod/child")]
        public interface IChildService : IBaseService
        {}

    public class BaseService 
        { public string GetName(IDMessageContract ID)}

    public class ChildService: IChildService 
        {}

    [MessageContract]
    public class IDMessageContract 
    {
      public string ID{get;set;}
    }

在上述场景中,我需要包含命名空间“http://www.myweb.com/prod/child”的 GetName 方法 SOAP 标头

【问题讨论】:

标签: wcf messagecontract servicecontract


【解决方案1】:

如果您需要具有指定命名空间的 SOAP 标头,您必须在消息协定中指定该标头并使用其 Namespace 属性。比如:

[MessageContract]
public class IDMessageContract 
{
  [MessageHeader(Namespace="http://www.myweb.com/prod/child")]
  public string MyHeader { get; set;}
  [MessageBodyMember]
  public string ID{get;set;}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多