ASP.NET UpdatePanel超时

我从UpdatePanel发出的请求超过了90秒。 我得到这个超时错误:

Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时。

有没有人知道是否有办法增加通话时间之前的时间?

ScriptManager上有一个属性:

 AsyncPostBackTimeout="300" 

在我的情况下,ScriptManager对象是在主页面文件中创build的,然后与内容页面文件共享。 因此,要更改Content Page中的ScriptManager.AsyncPostBackTimeout属性,我必须访问Content Page的aspx.cs文件中的对象:

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

这个技巧(基本上忽略了所有超时):

 <script type="text/javascript"> Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) { if (args.get_error() && args.get_error().name === 'Sys.WebForms.PageRequestManagerTimeoutException') { args.set_errorHandled(true); } }); </script> 

请按照以下步骤操作:

第一步:在web.config中设置httpRuntime maxRequestLength="1024000" executionTimeout="999999"

第2步:将以下设置添加到您的网页的ScriptManager: AsyncPostBackTimeout ="360000"

这将解决您的问题。

这可以通过更改IIS中的ASP脚本超时来configuration。

它位于您的网站的属性,虚拟目录,configurationbutton,然后在选项选项卡上。

或者通过设置Server.ScriptTimeout属性进行设置。

那么,我想这会工作,如果你只是希望抛出的请求与潜力,它从来没有完全执行…

将一个AsyncPostBackTimeOut属性添加到ScriptManager标记中,将您的默认超时从90秒改为适用于您的应用程序的更合理的时间。

此外,请考虑更改接收呼叫的Web服务以更快地移动。 在互联网时间90秒也可能是无限的。

您面临的问题是当您的应用程序运行到SQL数据库查询的超时。 返回输出需要的时间比默认的要多。 所以你需要增加ConnectionTimeout属性。

你可以用几种方法做到这一点:

  1. 连接string具有ConnectionTimeout属性。 这是一个属性,它决定了您的代码将等待连接数据库的最大秒数被打开。 您可以在web.config中的连接string部分中设置连接超时。

     <connectionstrings> <add name="ConnectionString" connectionstring="Database=UKTST1;Server=BRESAWN;uid=" system.data.sqlclient="/><br mode=" hold=" /><br mode=" html="> <asp:ToolkitScriptManager runat=" server=" AsyncPostBackTimeOut=" 6000="><br mode="> </add> </connectionstrings> 
  2. 您可以在.aspx页面中放置AsyncPostBackTimeout="6000"

     <asp:ToolkitScriptManager runat="server" AsyncPostBackTimeOut="6000"> </asp:ToolkitScriptManager> 
  3. 您可以在SqlCommand设置超时,在.cs文件中调用存储过程。

     command.CommandTimeout = 30*1000; 

希望你有一个解决scheme!