[解決済み] ASP.NETでは、どのような場合にSession.Abandon()ではなくSession.Clear()を使用するべきですか?
2022-09-01 18:41:06
質問
Session.Clear()とSession.Abandon()はどちらもセッション変数を削除します。 私が理解しているように、Abandon()は現在のセッションを終了し、新しいセッションを作成するため、EndとStartイベントが発生する原因となります。
ユーザーをログアウトさせるなど、ほとんどの場合 Abandon() を呼び出すことが望ましいようです。 代わりに Clear() を使用するようなシナリオはあるのでしょうか? パフォーマンスに大きな違いがあるのでしょうか。
どのように解決するのですか?
Session.Abandon()
セッションを破棄します
と
Session_OnEnd イベント
がトリガーされます。
Session.Clear()
ちょうど
はすべての値を削除します。
(コンテンツ) をオブジェクトから削除します。同じキーを持つセッションはまだ生きています。
ですから、もしあなたが
Session.Abandon()
を使用すると、その特定のセッションを失い、ユーザーは新しいセッションキーを取得します。例えば、ユーザーがログアウトするときにそれを使うことができます。
使用方法
Session.Clear()
を使用することで、ユーザが同じセッションに留まり(例えば再ログインさせたくない場合)、セッション固有のデータをすべてリセットすることができます。
関連
-
ASP.NET Coreミドルウェアによるグローバル例外処理機構の利用について
-
[解決済み] GC.SuppressFinalize()はいつ使うべきですか?
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] C#では、文字列の初期化にはstring.EmptyとString.Emptyと""のどちらを使えばいいのでしょうか?
-
[解決済み] リストとLinkedListの使い分けについて
-
[解決済み] Lazy<T>はいつ使うべきですか?
-
[解決済み] ポストバック時に「オブジェクトの現在の状態により操作が有効でない」エラーが発生する
-
[解決済み】ArrayとList<T>の比較。いつどちらを使うか?
-
[解決済み] ASP.NET_SessionId + OWIN Cookieがブラウザに送信されない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
再起動を伴わないNET5の設定変更は自動的に反映される
-
[解決済み] Session.Clear() vs. Session.RemoveAll()
-
[解決済み] System.Data.Entity.Internal.AppConfig' の型イニシャライザーで例外が発生しました。
-
[解決済み] カタナ」と「オウイン」をわかりやすく説明すると?
-
[解決済み] [Solved] ASP.NET MS11-100: 投稿されたフォームの値の最大数の制限を変更するにはどうしたらいいですか?
-
[解決済み] Razorとインラインコードブロックによるif文の使用方法
-
[解決済み] ASP.Net MVCとWebフォームを比較する最大のメリット
-
[解決済み] Visual Studio 新しいブラウザを開けない
-
[解決済み] Asp.Net 4でValidateRequest="false "が動作しない。
-
[解決済み] ASP.NET Web APIでのユーザー認証