私たちが開発しているasp.net Webアプリケーション(mvc 3、.net 4.0)では、非同期操作で使用するとセッション上のオブジェクトにいくつかの問題があります。(Async Targeting Pack ライブラリを使用します)。このオブジェクトに対して多くの非同期要求を作成すると、ASP.NET は順次処理を行います。これは、http 要求の開始時に asp.net セッション プロバイダーがロックされているためです。 http://msdn.microsoft.com/en-us/library/ms178587.aspx MVC コントローラーの EnableSessionState 属性が ReadOnly に設定されている場合、同時応答を取得できます。スレッドの完了時にセッションにデータを保存する必要があるため、この回避策は機能しません。
ここで必要なのは、スレッドセーフでマルチタスク対応の asp.net セッション状態プロバイダーだけです。
解決のために;
1) プロジェクトに「SessionStateStoreProviderBase」抽象クラスを実装し、独自のカスタム状態マネージャーを実装する必要がありますか? ベストプラクティスは何ですか?
2) このソリューションまたは .net 組み込みライブラリを実現するためのサードパーティ ライブラリはありますか?