ajax を並列に実行する
同一セッションのリクエストは並列で処理されない
セッションを使用している場合、ASP.NET のデフォルト動作では同一セッションのリクエストは並列で処理されません。
function test(value) { $.ajax({ url: "Page1/Test", data: value }); } test(1); test(2); test(3); test(4);
このようなスクリプトを書いても、サーバーサイドの ajax 処理は直列で実行されます。*1
そのため、複数の ajax を同時に呼び出しても並列実行されないためパフォーマンスが出ません。
こういう場合、コントローラーにセッションの読取専用属性(SessionState(SessionStateBehavior.ReadOnly)) を付与することで並列実行が可能になります。
ただし、このコントローラーは Session に書き込むことが出来なくなります。*2