1

我正在从 Excel 中导入大量数据(100.000 行等),并从 excel 中获取必要的值(大约需要 1 分钟)

然后我在这些记录中循环并执行一些数据库插入/更新语句。但大约在 90 秒后,响应停止。我的页面停止但在后台数据库继续并执行插入/更新作业。

但是我不能给用户一个反馈(你的过程已经完成等等),因为响应已经结束(超时)。

我尝试增加 web.config 中的超时时间:

<httpRuntime maxRequestLength="10240" executionTimeout="36000"/>

我还尝试为该特定页面增加 executionTimeout,如下所示:

<location path="HomePage.aspx"> <!--Excel import takes too long-->
  <system.web>
    <httpRuntime executionTimeout="360000" maxUrlLength="10000" maxQueryStringLength="80000" maxRequestLength="10240" />
  </system.web>  
</location>

他们没有工作!有什么建议么?

4

3 回答 3

2

protected void Page_Load(object sender, EventArgs e) { ScriptManager.GetCurrent(this.Page).AsyncPostBackTimeout = 6000;

我将 AsyncPostBackTimeout 增加到 6000,这对我有用。我的链接按钮(漫长的过程)在更新面板中

于 2013-04-02T14:53:48.630 回答
1

试试这个方法

<configuration>
  <system.web>
  ...
   <sessionState timeout="90" />
  ...
 </system.web>
</configuration>

看到这个

http://asp-net.vexedlogic.com/2012/05/23/aspasp-net-session-timeout-how-do-i-change-it/

http://forums.asp.net/t/1040377.aspx/1

于 2013-04-01T11:19:40.967 回答
0

下面的代码似乎只与 webconfig 更改结合使用。

protected void Page_Load(object sender, EventArgs e) { ScriptManager.GetCurrent(this.Page).AsyncPostBackTimeout = 6000;
}

没有这个,它对我不起作用。

<httpRuntime maxRequestLength="102400" executionTimeout="36000" />
于 2019-02-28T05:03:20.410 回答