2

メソッドにアクセスするために特定の Cookie を設定する必要がある Web サービスをアプリで使用しています。

wsdl.exeツールを使用して作成されたそのサービス用に生成されたラッパー クラスを使用していました。その方法を使用すると、すべてが正常に機能します。

// this is the instance of object generated with wsdl.exe
WSWrapper service = new WSWrapper(); 

// set cookie
service.CookieContainer = new CookieContainer();    
Cookie cookie = new Cookie(name, value, path, domain);
service.CookieContainer.Add(cookie);

// run method requiring cookie to be set
service.Test(); 

ここで、事前に生成されたクラスの代わりにサービス参照を使用して、同様のことをしたいと考えました。CookieContainerWeb 参照を追加しましたが、生成されたサービス参照ポート クライアントには (または同様のもの)がないようです。

そのクライアントにクッキーを追加する方法を知っている人はいますか?

4

2 に答える 2

4

svcutil.exeただし、生成されたプロキシには利点があります。

クライアントがサーバーから返された Cookie を保存して返すようにする (以前は を追加するだけで行われていたCookieContainer) ことを、app.config で制御できるようになりました。バインディングの属性としてorにallowCookies="true" を追加します。basicHttpBindingbasicHttpsBinding

または、WCF 構成エディターを使用して同じことを行います。

于 2010-01-25T05:06:10.097 に答える
0

問題を解決しました。サービス参照を作成する代わりに、Web 参照を追加すると、生成されたクライアントには、wsdl.exe事前に生成されたクラスのすべてのプロパティが含まれていました。

于 2009-07-28T08:32:56.697 に答える