20

一度にすべてのセッションを破棄したい。メソッドを試しSession.Abondon()ましたが、これがすべてのセッションを破壊しない理由がわかりません。

4

6 に答える 6

25

すべてのセッションを破棄することはできません。現在のセッションのみをクリアできます。すべてのセッションを消去するには、おそらくアプリケーション プールをリサイクルする必要があります。


HttpSessionState.Clear現在のセッションをクリアするために使用します

MSDN から - HttpSessionState.Clear メソッド

セッション状態コレクションからすべてのキーと値を削除します。

次のように呼び出します。

Session.Clear();
于 2012-08-29T06:49:21.317 に答える
4

一度にすべてのセッションを破棄したい

アプリケーションをリサイクルしない限り、これを行うことはできないと確信しています。

現在受け入れられている回答は を使用することを提案してSession.Clearいますが、これは現在のセッションをクリアするだけです - と同じSession.RemoveAllです。

まったく同じことを行うClear2つのメソッドがあるのはなぜですか? は、 ASP Classic Session オブジェクトとの下位互換性のために提供されているRemoveAllと思われますが、.NET コレクションから項目をクリアするためのより一般的なメソッド名です。RemoveAllClear

于 2012-08-29T10:43:17.377 に答える
3

セッション変数を削除できる方法は 3 つあります。

Session.Clear()
Session.RemoveAll()
Session.Abandon()

Clear()同じことをRemoveAll()実行します。セッション変数を削除しますが、現在のセッションをメモリに保持します。一方、Abandon()現在のセッションを終了します。

于 2012-08-29T06:51:31.797 に答える
0

あなたは使用する必要があります

this.Page.Session.Clear();

放棄は現在のセッション専用です。

于 2012-08-29T06:54:07.613 に答える
0

試す:

Session.Contents.RemoveAll()
于 2012-08-29T06:50:38.310 に答える
0

Session.Clear()またはSession.RemoveAll()メソッドを使用する

Session.Clear()
    or
 Session.RemoveAll()
于 2012-08-29T06:51:03.763 に答える