2012-03-02 21 views
0

Webサービスに接続しています。最初のメソッドで検索を初期化し、次に別のメソッドで結果が得られます。私はそれに接続して検索を初期化することができますが、私がupdateメソッドを呼び出すと、結果は得られません。サービスが認識できないように、私は検索を初期化したのと同じ人だと思われます。どのようにこれを動作させるためにどのようなアイデア? PS:ドン "tは偉大な初期化作業が必要であることを他の方法、 簡体字コードは次のようになります。更新方法WCFサービスがクライアントコール間の状態を維持しない

Service service = new Service(); 
service.StartSearch(param1, param2); 
string result = service.UpdateResults(); 

結果にはパラメータはありません

+4

通常、Webサービスは呼び出し間で状態を維持しません。これは自分のサービスの1つですか? – Simon

+0

StartSearchとUpdateResultsのコードを表示する必要があると思います。 – Steve

+0

Unfortunatelly no。私がPHPで同じ問題を抱えていたとき、私は独自のクラスを作成しなければなりませんでした。このクラスのインスタンスは、パラメータがなくても、UpdateResultsメソッドのように、StartSearchメソッドにパラメータの代わりに送信します。しかし、ビジュアルスタジオでは、私はそんなことはできません。 – Petr

答えて

1

これは、もちろん、すべての当て推量ですが、多分あなたのサービスの。 StartSearch()方法はあなたにセッションクッキーのようなものを割り当て、この場合は、あなたが存在するためにあなたのクッキーコンテナを必要とし、それはデフォルトでは存在しません

をここで私がしようとするだろうコードです:?。

は、
Service service = new Service(); 
service.CookieContainer = new CookieContainer(); // initialize cookie container 
service.StartSearch(param1, param2); 
string result = service.UpdateResults(); 
+0

Zruty、私はユーザーを認証できる何かを見つけられませんでした... – Petr

+0

最後に、私はそれを解決しました。問題はVSによって生成されたバインディングコードにありました。プロパティallowCookiesがfalseに設定されました。私はそれをtrueに変更するとすぐに結果を得ました。 Zruty、cookieContainerについてのあなたのアイデアが私に正しい方向を指摘してくれたので、あなたの答えを正しいものとしてマークすることができると思います。 – Petr

関連する問題