通过


SessionStateModule.End 事件

定义

会话结束时发生。

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

事件类型

示例

下面的代码示例显示了 Global.asax 文件的内容,其中包含定义的 Session_OnStartSession_OnEnd 事件。

<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>

注解

调用方法或会话已过期时Abandon,在End请求末尾引发该事件。 当属性指定的 Timeout 分钟数在没有为会话发出请求的情况下传递时,会话将过期。

Session_OnEnd事件用于为会话执行任何清理工作,例如释放会话使用的资源。

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

注释

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

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

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

适用于

另请参阅