次のクラスのオブジェクトは、引数として WCF Web サービスに渡す必要があります。
public class Context
{
public static readonly string AUTH_CODE = "AUTH_CODE";
public static readonly string REQUEST_TAG = "REQUEST_TAG";
private readonly IDictionary<string, string> _context = new Dictionary<string, string>();
public void AddProperty(string key, string value)
{
_context.Add(key, value);
}
public string GetProperty(string name)
{
return _context[name];
}
}
[DataContract] でクラスにタグを付け、[DataMember] で AUTH_CODE、REQUEST_TAG、および _context フィールドにタグを付けました。クラス自体は、サーバー側で Web サービスとともに定義されます。
このクラスのオブジェクトをインスタンス化して、クライアントから Web サービスを呼び出すときにパラメーターとして渡すことができるようにしようとすると、次のことがわかります。
- AUTH_CODE と REQUEST_TAG は表示されません。
- _context は非公開メンバーですが表示されます
- AddProperty メソッドと GetProperty メソッドは表示されません
上記の挙動について教えてください。
また、Web サービスを呼び出す前に、AddProperty メソッドにアクセスしてオブジェクトを設定する必要があります。どうすればこれを達成できますか?
注 :これは WCF の初めての経験です。そのような行動を達成するための標準的な慣行から逸脱している場合は、アドバイスしてください.