2012-03-28 8 views
0

IISは、そのWebサービスがセッションに依存している場合、同じセッションIDを使用してWebサービスへの複数の同時要求をどのように処理しますか?セッションによってブロックされたASMX Webサービス

最初のWebサービス呼び出しが処理を終了していない場合、IISは最初のWebサービス呼び出しが終了するまで(2人は同じセッションデータに依存するため)、2番目のWebサービス呼び出しを一時的にキューに入れますか?

また、IISは両方の要求を進めることができます。また、最初の要求によってセッションストアに加えられた変更は、予期しない結果を招く可能性があると思われる場合でもすぐに処理中の2番目のWebサービス呼び出しに影響します。

セッションリーダーとライターのロックによって最初のオプションが完了するまで、2番目の呼び出しをキューイングすることによって最初のオプションを使用していると思われますが、確定的な回答を見つけることができませんでした。

注:この場合、Webサービスリクエストはクライアントブラウザから非同期で生成されます。

答えて

1

はい、セッション状態を使用しています何か他のもののように、セッション状態モジュールは、それがセッションにロックをAQUIREできるまで(つまり、あなたのASMXのWebメソッドを実行)パイプラインの下に任意のさらなる行くから要求をブロックしようとしています。セッション状態は並行性の敵であり、すべてのコストでそれを回避する。

+0

も参照してください読み取り専用のセッションアクセス:http://stackoverflow.com/questions/10742211/ajax-accessible-long-running-service-tasks-blocking-sub-sequent-ajax-service-req/10743838#10743838 – quetzalcoatl