次の方法で共有


SessionStateModule.End イベント

定義

セッションが終了したときに発生します。

public:
 event EventHandler ^ End;
public event EventHandler End;
member this.End : EventHandler 
Public Custom Event End As EventHandler 

イベントの種類

次のコード例は、Session_OnStartイベントと Session_OnEnd イベントが定義された Global.asax ファイルの内容 示しています。

<script language="VB" runat="server">
Public Sub Session_OnStart()

End Sub

Public Sub Session_OnEnd()

End Sub
</script>
<script language="C#" runat="server">
public void Session_OnStart()
{

}

public void Session_OnEnd()
{

}
</script>

注釈

End イベントは、Abandon メソッドが呼び出されたとき、またはセッションの有効期限が切れたときに、要求の終了時に発生します。 セッションは、 Timeout プロパティで指定された分数が経過すると、セッションに対する要求が行われずに期限切れになります。

Session_OnEnd イベントは、セッションで使用されるリソースの破棄など、セッションのクリーンアップ作業を実行するために使用されます。

global.asax ファイルに Session_OnEnd という名前のパブリック サブルーチンを追加することで、End イベントのハンドラーを指定できます。

Session_OnEnd イベントは、セッション状態HttpSessionState.Modeプロパティ値がInProcされている場合にのみサポートされます。これは既定値です。 セッション状態 ModeStateServer または SQLServer に設定されている場合、Global.asax ファイル内の Session_OnEnd イベントは無視されます。 セッション状態 Mode プロパティ値が Custom場合、 Session_OnEnd イベントのサポートはカスタム セッション状態ストア プロバイダーによって決定されます。

End イベントはパブリックですが、処理できるのは Global.asax ファイルにイベント ハンドラーを追加することだけです。 この制限は、 HttpApplication インスタンスがパフォーマンスのために再利用されるために実装されます。 セッションの有効期限が切れると、Global.asax ファイルで指定されたSession_OnEnd イベントのみが実行され、現在使用中のHttpApplication インスタンスに関連付けられているEndイベント ハンドラーがコードから呼び出されなくなります。

Global.asax ファイルの詳細については、「 Global.asax Syntax」を参照してください。

適用対象

こちらもご覧ください