2

我有一个带有几个文本框和一个提交按钮的 aspx 页面。单击提交按钮后,会从屏幕上的表格/文本框创建一个 xml 文件。

如果立即执行此操作,则效果很好,但如果您在 20 分钟左右后单击该按钮,则页面会出错。

我有:

 <location path="Default.aspx">
        <system.web>
          <httpRuntime executionTimeout="1000000000"/>
        </system.web>
      </location>

在 web.config 和<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="1000000000" />aspx 页面上,但它仍然在大约 20 分钟左右后超时。

我错过了什么?

4

6 回答 6

2

默认会话时间为 20 分钟 Msdn

这是其中一种方式

1. http://weblogs.asp.net/stevewellens/archive/2009/06/09/ah-ah-ah-ah-staying-alive-staying-alive.aspx

检查此解决方案

2.如何避免web.config中的会话超时

3. https://stackoverflow.com/a/412502/1053241

于 2012-06-28T05:05:08.133 回答
1

在您的 web.config 中,您很可能拥有

  <sessionState timeout="20"></sessionState>

不过,您不应该真正将会话超时时间延长

如何设置会话超时超过 20 分钟? 这篇文章解释了检查会话超时的所有相关位置

此外,当您部署应用程序时,请记住检查 IIS 超时配置

于 2012-06-27T13:51:53.803 回答
1

可能 Session 结束了,尝试设置 SessionTimeOut,或者写一个 JavaScript 函数,定时发送 AJAX 请求,让 Session 保持活跃。但我真的不认为你是在正确的方式,如果会话结束你应该重定向到登录页面。

于 2012-06-27T13:52:18.900 回答
0

这是保持会话活跃的一个很好的例子:http: //www.dotnetcurry.com/ShowArticle.aspx? ID=453

于 2012-06-27T14:11:13.837 回答
0

此外,您可以警告用户他们即将退出系统并询问他们是否希望继续使用该站点,而不是延长您的会话

http://programmerramblings.blogspot.co.uk/2011/07/aspnet-session-timeout-control-with.html

此控件可让您执行此操作

于 2012-06-27T14:31:52.180 回答
0

我在单个页面和按钮单击事件中设置它。如果您不希望在配置中更改应用程序范围的超时,似乎可以解决问题。

HttpContext.Current.Server.ScriptTimeout = 90000;
于 2020-05-14T14:13:15.147 回答