2011-07-14 15 views
-4

システムが接続を失ったときにASP.NETセッションをクリアする方法はありますか?私はJavaScriptを使用して実装することができると思う誰も私に教えてくれる?切断時の自動ログアウト

システムが再びインターネットに接続された後、自動的にページをlogout.aspxにリダイレクトする必要があります。

もっと分かりやすくするため、チャットスクリプトはオンラインとオフラインの通知を表示します。たとえば、Gmailのページがオンになっているときに連絡先には彼のステータスが緑色で表示されます。彼のページがオフになると、彼の連絡先はそれをオフにします。どのように実装されていますか?

+0

私が推測するには、サーバー側ではJavaScriptを使用すると、システムが失ったとき* 'そのconnection' *は何を意味している – pimvdb

+6

を使用したいのか、実際にはないので、ですか? HTTPはステートレスプロトコルです。 –

+0

クッキーに保存されているセッションやサーバー上のセッションについて話していますか?いずれにしても、JavaScriptはこれを行うことができません。 ASP(3分など)でセッションのタイムアウトがあるだけです。 – tjameson

答えて

2

ASP.NETでセッションタイムアウトを使用すると、非アクティブ状態で特定の期間セッションを切断することができます。 web.configファイルでのその使用方法:他のすべてがそう言っているよう

<system.web> 
| 
| 
<authentication mode="Forms" /> 
<sessionState mode="InProc" timeout="20"/> 
| 
| 
</system.web> 

HTTPはステートレスなプロトコルです....私はあなたがwhen the system looses its connectionによって意味ですか理解していない

。同じものに対するあいまいな答えは次のようなものになります。global.asaxファイルを編集してセッションをクリアすることもできます。方法でSession.Abandon()を使用することができます:Session_EndApplication_End。実証的少し:

void Session_End(object sender, EventArgs e) 
    { 
     Session.Abandon(); 
     // Code that runs when a session ends. 
    } 
void Application_End(object sender, EventArgs e) 
    { 
     Session.Abandon(); 
     // Code that runs on application shutdown  
    } 
0

クライアントの接続が切断されている場合は、ASPのセッションタイムアウトを使用することをお勧めします。サーバーがダウンした場合にセッションをクリアしない場合は、

関連する問題