asp.Net sessionの失効時間を設定する多くの方法

2805 ワード

セッションの失効については簡単そうに見えますが、うまくいかないととてもお父さんになります.次に、セッションの失効時間を設定する方法について詳しく説明します.
一、サーバー設定セッション
IIS-Webサイト-プロパティ-Asp.Net-構成の編集-ステータス管理-セッションタイムアウト(分)-120、つまり2時間、つまり120分後に現在のユーザーが操作していない場合、Sessionは自動的に期限切れになります.
二、サイト設定セッション
IIS-Webサイト-DemoSiteなどの具体的なWebサイト-プロパティ-Asp.Netでは、「グローバル構成の編集」と「構成の編集」の2つのオプションがあります.
グローバル構成の編集(Edit Global Configuration)を選択すると、前の構成と同じになります.
「≪構成の編集|Edit Configuration|emdw≫」を選択すると、現在のWebサイトでのみ有効になります.1つのサーバには独立したWebサイトがたくさんある可能性があります.
1、「ステータス管理」の選択を続行-セッションタイムアウト(分)-360分に設定します.効果は同じで、現在のサイトにのみ有効です.
2、資格認定-Forms-Cookeタイムアウト、「12:00:00」、つまり12時間を選択します.オプションは、次の8つです.
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
つまり最長24時間、最小15分です.これはデフォルトの構成です.アプリケーションでは自由にカスタマイズできます.
三、アプリケーション設定セッション
同じWebサイトで管理されていますが、役割ドメインは現在のアプリケーションのみです.
Webでもいいです.configで設定、Globalでもよい.asax設定:
void Session_Start(object sender, EventArgs e) 
{ 
//              600  
Session.Timeout = 600; 
} 

四、ページ設定セッション
ページにセッションを設定します.Timeout = 30;ページのセッションの有効期限を一時的に変更できます.
セッションの有効期限の表示
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);   
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);

その中で、ウェブサイトとアプリケーションの設定は、Webに現れている.configでは、次のようになります.
Webサイト:
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  

アプリケーション:
















ページレベル>アプリケーションレベル>Webサイトレベル>サーバレベルの順に設定します.
すなわち、ページが50分、ウェブサイトが120分に設定されている場合、50分が有効期限であることは明らかである.
もう一つ注意すべき点があります.
設定2でセッションタイムアウト(SessionState)を120分設定し、forms認証を併用して「00:15:00」、すなわち15分に設定し、slidingExpirationoをfalseに設定した場合、本当に有効なSessionの有効期限はいくらですか?
有効な結果は、SessionStateの設定、すなわち120分です.
セッションの有効期限が設定されていない場合は、上記の構成を確認してください.