1

aspnet_regsql を使用して SQL Server セッション プロバイダーを実装します。

Web Config で

<sessionState mode ="SQLServer" cookieless="false" timeout="1" allowCustomSqlDatabase="true" sqlConnectionString="Password=ads;Persist Security Info=True;User ID=sa;Initial Catalog=ASPState;Data Source=DF" />

セッションが作成されると、そのセッションの新しい行がデータベースに追加されますが、セッションの有効期限が切れても行は削除されません。期限切れのセッションを削除する方法を手動でカスタマイズする必要があるかどうか? はいの場合、オーバーライドする必要があるメソッドを explian します。

ありがとう、プラビン

4

2 に答える 2

0

セッション状態ストア プロバイダーの実装の期限切れのセッション ストア データの削除セクションに進みます。

セッションに対してAbandon メソッドが呼び出されると、 RemoveItem メソッドを使用して、そのセッションのデータがデータ ストアから削除されます。それ以外の場合、データはセッション データ ストアに残り、セッションの今後の要求に対応します。

期限切れのセッション データを削除するメカニズムは、データ ソースの機能によって異なります。セッション タイムアウト プロパティに従って期限切れのセッション データを削除するようにデータ ソースを構成できる場合は、SetItemExpireCallbackメソッドを使用してSession_OnEndイベントのデリゲートを参照し、期限切れのセッション データを削除するときにデリゲートを発生させることができます。

参照:有効期限が切れた後、データベースからセッションを削除しますか?

于 2012-04-17T04:52:24.050 に答える
0

Uは次のコードで手動でこれを行うことができます

HttpContext.Current.Session.Remove("session");
HttpContext.Current.Session.Abandon();
于 2012-04-17T04:50:36.597 に答える