2012-03-21 6 views
1

ASP.NET SQL SessionStateプロバイダが私の要件を過度に超えているようです。それをサポートするにはSQL Serverを構成する必要があります。どのように最適化されているかについて質問があります(セッション全体を取得するために1つのDBヒットがありますか?ASP.NET SQL SessionStateまたはカスタムソリューション?

私が理解して他のプロジェクトに簡単に再デプロイできるカスタムソリューションを非常に簡単に実装できると思います。組み込みのSessionStateハンドラが「最良の」方法である理由を私がここでは考慮していない根拠と明白な理由がありますか?

わかりやすくするために、私たちのアプリケーションは現時点では単一のサーバー上で動作しています。これを行う主な動機は、セッションがIISの再起動を超えて持続できるようにすることであり、したがって、ユーザーにとってより信頼性の高いものです。

答えて

4

StateServerモードを使用できます。

StateServerモードは、ASP.NETワーカープロセスまたはIISアプリケーションプールとは別の、ASP.NET状態サービスと呼ばれるプロセスにセッション状態を格納します。

このモードを使用すると、Webアプリケーションが再起動されたときにセッション状態が保持され、Webファーム内の複数のWebサーバーでセッション状態を利用できるようになります。 http://msdn.microsoft.com/en-us/library/ms178586.aspx

+0

申し訳ありませんが私の編集が欠落している必要があります - InProcがサポートしていないアプリケーションを再起動してもセッションを保存する必要があります – cusimar9

+1

私は自分の答えを編集しました –

0

詳細それは(すでに実行しているSQLサーバーを持っていると仮定)セットアップSQLセッション状態サーバーへわずか数分かかります。私はあなたがすでに存在するものを試してみるのにかかる時間よりも短い時間で何かを書くことができ、MSによって無料でサポートされているとは想像できません。

実績のあるビルトイン/既製品のソリューションは、カスタムよりも常に始めるのが得策です。あなたはまだカスタムソリューションで終わる可能性がありますが、利用可能なものをテストするのは面倒ではないので、選択しないでください。

関連する問題