2009-07-27 5 views
2

私のアプリでは、そのメソッドにアクセスするために特定のクッキーを設定する必要がある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(); 

は今、私は事前に生成されたクラスの代わりにサービス参照を使用して、同様の何かをしたかったです。 Web参照を追加しましたが、生成されたサービス参照ポートクライアントには CookieContainer(またはそれに類するもの)がないようです。

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

答えて

0

私はこの問題を解決しました。サービス参照を作成するのではなく、Web参照を追加しました。生成されたクライアントには、あらかじめ生成されたクラスwsdl.exeのすべてのプロパティがありました。

4

svcutil.exeプロキシには利点があります。

クライアントは、サーバーによって返されたクッキー(単にCookieContainerを追加することによって行われたように)を保存して返すことができるようになりました。バインディングの属性としてbasicHttpBindingまたはbasicHttpsBindingに「allowCookies="trueを追加します。

をまた同じことを行うためにWCF構成エディタを使用します。

関連する問題