3

複数の WCF クライアント エンドポイントで、同じ http Cookie (実際には asmx セッション ID) を使用しようとしています。

サーバーにはいくつかのエンドポイントがあり、そのうちの 1 つが次のとおりです。

AuthenticationService.asmx
Login() <- サーバーである HTTP Cookie を作成します ASP.NET sessionid
Logout() <- 同じ Cookie を破棄し ます

SomeOtherService.asmx
DoSomeThing() <- AuthenticationService.asmx から有効な Cookie を要求します。

複数のエンドポイントで HTTP Cookie を共有するにはどうすればよいですか。

サーバー コードを制御できないため、WCF を使用する必要があります。

4

3 に答える 3

0

私はちょうど同じ問題に遭遇しました。WCFクライアントが1つのASP.NETサービスとのみ通信している場合、それは簡単です。BasicHttpBindingのAllowCookiesプロパティをtrueに設定するだけで、サービスプロキシがASP.NETセッションIDCookieを自動的に処理します。

しかし、WCFクライアントと通信する必要があるASP.NETサービスが2つあるというあなたのような状況があります。最初のものはASP.NETセッションIDCookieを発行し、2番目のサービスへの呼び出しでそのCookieを渡すことができる必要があります。誰かがこれを行う方法を知っていますか?

于 2008-12-09T23:17:42.287 に答える
0

asp.net 互換モードを有効にすると、WCF サービス内から http セッションにアクセスできるため、これを行うために Cookie を追加する必要はありません。

http://msdn.microsoft.com/en-us/library/ms752234.aspx

于 2008-10-15T00:04:14.667 に答える