16

RC にヒットする ASP.NET MVC3 に関する Guru-Gu のブログ投稿を読んで、彼は次のように述べています。

セッションレス コントローラーのサポート

コントローラー クラスでセッション状態を使用するかどうかを指定できるようになりました。また、使用する場合は、読み取り/書き込み、読み取り専用、読み取り/書き込み、または読み取り専用のいずれにするかを指定できます。

誰かがセッションレスコントローラーを持ちたいと思うかもしれないいくつかのシナリオを説明できますか? または読み取り専用コントローラー?

私は常に、すべての静的画像/コンテンツを処理するために使用する別の IIS Web サイトを作成してから、この同じ Web サイトのセッション状態をオフにしています...したがって、Cookie はネットワーク経由で送信されません。これは同様のシナリオですか?

4

1 に答える 1

24

これについてグーさんがコメント。引用:

リリース ノートでは、これについて詳しく説明しています (上記のダウンロード リンクからダウンロードできます)。セッション状態は、特定のユーザー/セッションから一度に 1 つの要求のみが発生するように設計されています。したがって、一度に複数の AJAX コールバックが発生するページがある場合、それらはサーバー上で順次処理されます。セッションレスになるということは、それらが並行して実行されることを意味します。

これは、ASP.NET の一般的な既知のシナリオです。同じユーザーのセッション オブジェクトはスレッド セーフではありません。これは、同じユーザー (同じセッション ID Cookie) がセッションを使用するページに複数の要求を送信した場合、それらの要求はキューに入れられ、並列ではなく順次処理されることを意味します。

于 2010-11-09T23:03:38.130 に答える