0

我正在实施 WCF/Soap 服务操作,并已将数据合同的一些成员定义为不需要 ( IsRequired = false)。

我的问题与以下两种情况有关...

  • 客户端为合约元素提供一个空值(i:nil="true")
  • 客户不提供可选元素(即他们向我发送部分合同)

这个问题对于复杂和可为空的原始类型都很重要。据我所知,.Net 序列化程序null在这两种情况下都会返回,所以我的问题是,谁能推荐一种方法来确定 SOAP 请求中是否提供了可选参数?

4

1 回答 1

0

一种解决方法是在您的数据合同中添加布尔MemberSupplied类型成员。例如:

[DataContract]
public class EmployeeSearchParams
{
    [DataMember]
    public Employee Manager {get; set;}

    [DataMember]
    public bool ManagerSupplied {get; set;}
}
于 2013-01-03T12:12:06.313 回答