我定义了一些 DataContracts,一个是从另一个继承而来的。这些不是确切的类,但有这样的东西:
[DataContract]
public class BaseModel
{
[DataMember]
public String Id {get;set;}
}
[DataContract]
public class MyModel : BaseModel
{
[DataMember]
public String Name {get;set;}
}
我正在使用带有 basicHTTPbinding 的 WCF 将数据从服务器移动到客户端。当我使用 fiddler 查看正在发送的数据时,它正在做一些奇怪的事情。
在返回的原始数据中,当我检查 Name 属性时,我可以看到“Name”后面跟着数据。对于 Id 属性,我看到“Id http://schema.datacontract.org/2004/07/MyService ”,后跟数据。我只看到基类字段的 schema.datacontract.org 部分。为什么只有继承的字段才能获得该架构部分?两个类都在同一个命名空间中。我不希望它出现在任何属性上,因为它会显着增加我的响应。反正我可以把它关掉吗?