ASP.NET MVC アプリケーション用のカスタム セッション状態プロバイダーの実装に取り組んでいます。私の要件は、セッション データをxml
SQL サーバーのカスタム テーブルに保存することです。
既存のsql セッション状態プロバイダー(いくつかのメソッドをオーバーライドする) を使用できますか、または抽象クラスを実装してゼロから作成する必要がありますSessionStateStoreProviderBase
か?
ASP.NET MVC アプリケーション用のカスタム セッション状態プロバイダーの実装に取り組んでいます。私の要件は、セッション データをxml
SQL サーバーのカスタム テーブルに保存することです。
既存のsql セッション状態プロバイダー(いくつかのメソッドをオーバーライドする) を使用できますか、または抽象クラスを実装してゼロから作成する必要がありますSessionStateStoreProviderBase
か?
SQL サーバーを状態プロバイダーとして使用しないのはなぜですか? 構成で設定すると、これは自動的に行われ、SQL サーバーはデータをシリアル化されたバイナリ データとして保存し、効率的に取得しますか?
簡単に言えば、はい、できますが、車輪の再発明です。データを他の目的で使用したり、プロセス外で自分で編集したりする必要がありますか? これには別のプロセスを使用する傾向があります。これを行うには少し手間がかかりますが、後で見る必要がある場合は、sessiopn で設定するときに xml プロパティを somwhere に保存することをお勧めします。
XML ドキュメントをセッション オブジェクトにする
Session["MyCustomXml"] = mydoc;
var mydoc = Session["MyCustomXml"] as XmlDocument;
次に、次の構成を使用して、SQL サーバーに保存します。
<sessionState
mode="SQLServer"
sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
cookieless="false"
timeout="20"
/>
後で見る必要がある場合は、SessionId をファイル名として安全にディスクに保存し、一意に保ってください。