C# asp.net回发超时

C# asp.net回发超时,c#,asp.net,postback,C#,Asp.net,Postback,我有一个带有几个文本框和提交按钮的aspx页面。 单击submit按钮后,将从屏幕上的表/文本框创建一个xml文件 如果你马上去做,效果很好,但是如果你在20分钟左右点击按钮,页面就会出错 我有: <location path="Default.aspx"> <system.web> <httpRuntime executionTimeout="1000000000"/> </system.web&g

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

如果你马上去做,效果很好,但是如果你在20分钟左右点击按钮,页面就会出错

我有:

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

在web.config和aspx页面上的
,但大约20分钟后它仍然超时


我遗漏了什么?

在您的web.config中,您很可能遗漏了

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

不过,您不应该将会话超时时间延长到这个时间以外

这篇文章解释了检查会话超时的所有相关位置


此外,在部署应用程序时,请记住检查web.config中的IIS超时配置

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

不过,您不应该将会话超时时间延长到这个时间以外

这篇文章解释了检查会话超时的所有相关位置


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

会话可能已结束,请尝试设置SessionTimeOut,或编写JavaScript函数以一次一次地发送AJAX请求,以保持会话处于活动状态。
但是我真的不认为你这样做是对的,如果会话结束了,你应该重定向到登录页面。

也许会话结束了,试着设置SessionTimeOut,或者编写一个JavaScript函数来一次一次地发送AJAX请求,以使会话保持活动状态。
但我真的不认为你这样做是对的,如果会话结束,您应该重定向到登录页面。

这里有一个保持会话活动的好例子:

这里有一个保持会话活动的好例子:

您也可以只警告用户他们将要从系统中超时,并询问他们是否希望继续使用场地


此控件允许您执行此操作

您也可以不延长会话,只需警告用户系统即将超时,并询问他们是否希望继续使用该站点即可


此控件允许您执行此操作

默认会话时间为20分钟

这是一条路

一,

检查此解决方案

二,


3.

默认会话时间为20分钟

这是一条路

一,

检查此解决方案

二,


3.

我在单独的页面和按钮点击事件中设置此选项。如果您不希望在配置中更改应用程序范围的超时,则似乎可以做到这一点

HttpContext.Current.Server.ScriptTimeout = 90000;

我在个人页面和按钮点击事件中设置此项。如果您不希望在配置中更改应用程序范围的超时,则似乎可以做到这一点

HttpContext.Current.Server.ScriptTimeout = 90000;


它可能在20分钟时超时,因为这是默认会话超时。尽管如此,任何运行20分钟的操作都太长了…另一个原因可能是IIS在默认情况下空闲20分钟后会回收应用程序池。您的操作需要20分钟吗?或者是否有输入掩码,用户在发布数据之前通常需要更长的时间输入数据?实际上没有发生任何操作,只是人们会让窗口长时间打开,当他们将数据放入文本框并单击提交(一小时或更长时间后)时,它会出错。我使用的是会话变量,所以它可能会在超时20分钟后尝试访问它们?您得到的错误是什么?它可能会在20分钟后超时,因为这是默认会话超时。尽管如此,任何运行20分钟的操作都太长了…另一个原因可能是IIS在默认情况下空闲20分钟后会回收应用程序池。您的操作需要20分钟吗?或者是否有输入掩码,用户在发布数据之前通常需要更长的时间输入数据?实际上没有发生任何操作,只是人们会让窗口长时间打开,当他们将数据放入文本框并单击提交(一小时或更长时间后)时,它会出错。我正在使用会话变量,所以可能它会在超时20分钟后尝试访问它们?您会得到什么错误?如果OP不知道为什么超时20分钟,我打赌他/她不会有这个错误。20分钟是默认的InProc超时时间,所以它与session.True有关,尽管我认为SessionState是默认添加到web.config的。我要去检查一下……我已经将IIS中会话状态页上的超时时间(以分钟为单位)从20分钟更改为60分钟,并将检查这是否解决了问题。如果OP不知道为什么会在20分钟超时,我打赌他/她不会有这个问题。20分钟是默认的InProc超时时间,所以它与session.True有关,尽管我认为SessionState是默认添加到web.config的。我要去检查一下……我已经将IIS中会话状态页的超时时间(以分钟为单位)从20分钟更改为60分钟,并将检查是否可以解决此问题。这是一个内部网站,不需要登录,它的NTLM。这是一个内部网站,不需要登录,它的NTLM。奇怪的是,我已将IIS中的seision超时更改为60分钟,但它仍然不起作用。链接1。成功了。谢谢,这很奇怪,我已经将IIS中的seision超时改为60分钟,但它仍然不起作用。链接1。成功了。非常感谢。