gpt4 book ai didi

asp.net-mvc - 处理 ASP.NET MVC 中的超时

转载 作者:行者123 更新时间:2023-12-02 00:08:52 24 4
gpt4 key购买 nike

在 ASP.NET MVC3 中,我似乎无法覆盖 session 超时。我已经在我能想到的所有相关服务器端代码点(globax.ax.cs 中的 Controller 操作和方法)设置了断点,但 session 超时似乎没有遇到任何问题。

我什至应用了此处建议的属性:(http://www.tyronedavisjr.com/2008/11/23/detecting-session-timeouts-using-a-aspnet-mvc-action-filter/)但即使当 session 超时时它没有被命中。当然超时必须是 session 端的,但是在哪里呢?

有人知道当 ASP.NET MVC 应用程序 session 超时时到底会发生什么吗?

最佳答案

您使用什么 sessionState 模式? (<sessionState mode=" ... "> 在 web.config 中)

您应该能够将以下方法添加到 Global.asax.cs 中以覆盖默认的 Session_End 行为:

protected void Session_OnEnd(object sender, EventArgs e)
{
// insert code here
}

注意事项:

  • 仅当 HttpSessionState.Mode 属性值为 InProc 时才会调用 Session_OnEnd/Session_End 事件(这是默认值,因此如果您没有在 web.config 中更改它,这应该没问题)。如果您将其更改为 StateServer 或 SQLServer,则 Global.asax 文件中的 Session_OnEnd 事件将被忽略。

  • 应用程序放弃 session 时(而不是关闭浏览器时)会调用 Session_OnEnd/Session_End 事件。您可以通过调用 Session.Abandon 手动触发。

关于asp.net-mvc - 处理 ASP.NET MVC 中的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com