0

私は WCF/Soap サービス操作を実装する過程にあり、データ コントラクトのメンバーのいくつかを不要として定義しました ( IsRequired = false)。

私の質問は、次の 2 つのシナリオに関連しています...

  • クライアントは契約要素に null 値を提供します (i:nil="true")
  • クライアントはオプションの要素を提供しません (つまり、部分的なコントラクトを送ってきます)。

この問題は、複雑なプリミティブ型と null 許容プリミティブ型の両方で重要です。私が判断できることから、.Netシリアライザーnullは両方のシナリオで返されるので、私の質問は、SOAPリクエストでオプションのパラメーターが提供されたかどうかを判断する方法を誰かが推奨できますか?

4

1 に答える 1

0

回避策の1つは、データコントラクトにブール値のMemberSuppliedタイプのメンバーを追加することです。例えば:

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

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