SessionStateModule.End 事件

定义

在会话结束时发生。

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

事件类型

示例

下面的代码示例演示定义了 Session_OnStartSession_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 事件用于为会话执行任何清理工作,例如释放会话使用的资源。

可以通过将名为 Session_OnEnd 的公共子例程添加到 Global.asax 文件来指定事件的处理程序End

注意

仅当会话状态HttpSessionState.Mode属性值为 InProc(默认值)时,才支持Session_OnEnd事件。 如果会话状态 Mode 设置为 StateServerSQLServer,则会忽略 Global.asax 文件中的 Session_OnEnd 事件。 如果会话状态 Mode 属性值为 Custom,则 对 Session_OnEnd 事件的支持由自定义会话状态存储提供程序确定。

虽然事件 End 是公共的,但只能通过在 Global.asax 文件中添加事件处理程序来处理它。 之所以实现此限制,是因为 HttpApplication 实例是出于性能而重复使用的。 会话过期时,仅执行 Global.asax 文件中指定的 Session_OnEnd 事件,以防止代码调用 End 与当前正在使用的 HttpApplication 实例关联的事件处理程序。

有关 Global.asax 文件的详细信息,请参阅 Global.asax 语法

适用于

另请参阅