ASP.NET MVC3にセッションレスコントローラーを持っているというシナリオは何ですか?
-
30-09-2019 - |
質問
読む Guru-Guのブログ投稿ASP.NET MVC3ヒットRC, 、彼は言う: -
セッションレスコントローラーサポート
これで、コントローラークラスにセッションステートを使用したいかどうかを示すことができます。そうであれば、読み取り/書き込みまたはreadonly.read/writeまたはreadonlyにするかどうかを示すことができます。
誰かがセッションのないコントローラーを持ちたいと思うかもしれないシナリオは何ですか?または読み取り専用コントローラー?
私はいつも作成してきました すべての静的な画像/コンテンツを処理し、この同じWebサイトにセッション状態をオフにするために使用するIIS Webサイトを個別に使用します ...したがって、ワイヤー上にクッキーが送られていません。これは同様のシナリオですか?
解決
Guはこれについてコメントしました。引用:
リリースノートでは、これを詳しく説明します(上記のダウンロードリンクからダウンロードできます)。セッション状態は、特定のユーザー/セッションからの1つのリクエストのみが一度に発生するように設計されています。したがって、複数のAJAXコールバックが一度に発生するページがある場合は、サーバー上のシリアルファッションで処理されます。セッションなしでは、並行して実行することを意味します。
これは、一般的にASP.NETの既知のシナリオです。同じユーザーのセッションオブジェクトは、スレッドセーフではありません。これは、同じユーザー(同じセッションID Cookie)がセッションを使用するページに複数のリクエストを送信する場合、それらのリクエストがキューにキューになり、並行してシリーズで処理されることを意味します。