Asp.Net Session_Endイベント

1130 ワード

Aspを行っています.Netプロジェクト開発では,ユーザがオンラインであるかどうかを判断する必要がある場合が多く,セッションの状態に応じて判断することができる.ユーザがウェブサイトにアクセスするとセッション(Session)が作成され,ブラウザがWebサーバと通信すると,このセッションのIdが付随し,WebサーバはセッションのIdに基づいて現在のユーザのSessionを取得する.セッション(Session)が期限切れになると、ユーザーは必要な機能にアクセスできず、新しいセッションを開始するためにログインを再開する必要があります.ユーザー・セッションが終了するとセッションがトリガーされます.Endイベントは,このイベントではユーザのオフライン処理,ログアウト記録などの作業を行うことができる.Session_EndイベントはGlobal.asaxで定義します.次にコードの例を示します.
       protected void Session_Start(object sender, EventArgs e)
        {
 
        }       

        //sessionState mode="InProc"     
        protected void Session_End(object sender, EventArgs e)
        {
            WriteLog("  ");
            MemberOnlineList.DeleteOnline();
        }

Session_の使用Endは、次の点に注意してください.
  • はセッションを同時に定義する必要があります.Start
  • web.configでsessionStateを「InProc」
  • と定義する必要があります.
    Webでconfigでは、sessionStateの定義例は次のとおりです.
     
    

    ここでtimeoutはsessionのタイムアウト時間を分単位で定義する.
    ユーザーがブラウザを閉じるなどの動作は、すぐにセッションをトリガーすることはできません.Endイベントは、常にタイムアウト時間が終わるまでトリガーされません.