【发布时间】:2009-06-26 09:04:29
【问题描述】:
我已经通过 WCF 创建了一个 Web 服务。然后我将它公开为一个 Web 服务,以使其可用于 .NET 2.0 应用程序。我使用 DataMember 创建了一些 DataContract,可用于公开的 OperationContract。
我注意到,当我尝试创建要在 Web 服务中传递的 DataClass 时,每个 DataContract 属性现在对于每个成员都有一个合作伙伴“指定”属性。
例如:
[DataContract]
public class Sales
{
[DataMember]
public int InvoiceNo;
...
}
当我在 Web 服务客户端中创建 Sales 实例时。我得到名为 InvoiceNo 和 InvoiceNoSpecified 的属性。
现在这里是我的问题,当属性是string类型时,我不需要设置对应的“Specified”属性为true,但是当属性类型是int或DateTime时,如果我不设置对应“指定”属性为 true,该值在 Web 服务主机中变为空。有没有办法避免设置 Specified 属性?因为我需要在代码中的很多地方调用 Web 服务函数。真的很难跟踪所有这些。
【问题讨论】:
标签: web-services wcf .net-2.0