【问题标题】:Is the WCF DataContract Namespace required是否需要 WCF DataContract 命名空间
【发布时间】:2013-01-11 18:34:27
【问题描述】:

我有一个 WCF 客户端和一个 WCF 服务,

每一端都有一个 DataContract。我需要命名空间来反序列化客户端上的对象。

即打击不起作用

[DataContract]
public class Framework
{
    [DataMember]
    public string Name { get; set; } 
}

但确实如此:

[DataContract(Namespace = "http//mysite.co.uk"]
public class Framework
{
    [DataMember]
    public string Name { get; set; } 
}

这是为什么?我原以为离开命名空间意味着它们都默认为 http://tempuri.org 并且都可以。

需要命名空间似乎很奇怪。

有人对此行为有解释吗?

【问题讨论】:

    标签: wcf datacontract


    【解决方案1】:

    它应该默认为您所说的 tempuri 命名空间。我已经这样做了很多次,所以我知道它有效。我的猜测是传入的数据正在使用命名空间http//mysite.co.uk,因此导致它失败。 DataContract 的命名空间必须与 SOAP 消息中使用的命名空间相匹配。

    您是否使用程序集或发现来共享您的服务合同?也许您的合同一方面已过期,需要刷新(通过重新运行发现或重新部署共享程序集)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-20
      • 2011-07-24
      • 2011-11-16
      • 2017-06-18
      • 2014-03-09
      • 2014-07-20
      • 2015-04-27
      • 2012-09-01
      相关资源
      最近更新 更多