我有一个带有几个文本框和提交按钮的aspx页面。 单击提交按钮后,将从屏幕上的表/文本框中创建一个xml文件。
如果立即执行此操作可以正常工作,但是如果您在20分钟后单击按钮,那么页面会出错。
我有:
<location path="Default.aspx">
<system.web>
<httpRuntime executionTimeout="1000000000"/>
</system.web>
</location>
在web.config中的和aspx页面上的<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="1000000000" />
,但它在大约20分钟左右后仍然超时。
我错过了什么?
答案 0 :(得分:2)
默认会话时间为20分钟Msdn
这是其中一种方式
1。http://weblogs.asp.net/stevewellens/archive/2009/06/09/ah-ah-ah-ah-staying-alive-staying-alive.aspx
检查此解决方案
答案 1 :(得分:1)
在你的web.config中你很可能有
<sessionState timeout="20"></sessionState>
虽然
,但您的会话超时不应超出此范围How to set session timeout more than 20 min.? 这篇文章解释了检查会话超时的所有相关位置
另外,当您部署应用程序时,请记住检查IIS超时配置
答案 2 :(得分:1)
也许Session已经结束了,尝试设置SessionTimeOut,或编写一个JavaScript函数来逐个发送AJAX请求以保持Session活跃。 但我真的不认为你是正确的方式,如果会议结束,你应该重定向到登录页面。
答案 3 :(得分:0)
以下是保持会话活动的一个很好的示例:http://www.dotnetcurry.com/ShowArticle.aspx?ID=453
答案 4 :(得分:0)
此外,您可以警告用户他们即将退出系统并询问他们是否要继续使用该网站,而不是延长会话时间
http://programmerramblings.blogspot.co.uk/2011/07/aspnet-session-timeout-control-with.html
此控件可让您执行此操作
答案 5 :(得分:0)
我将在单个页面和按钮单击事件中进行设置。如果您不希望在config中更改应用程序范围的超时,似乎可以解决问题。
HttpContext.Current.Server.ScriptTimeout = 90000;