Asp.net 4.0 UpdatePanel错误:Sys.WebForms.PageRequestManagerSer



我有一个大约需要15-20秒执行的过程,最后它会更新一个更新面板来刷新一个gridview

但它一直让我带来这个错误:

Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。服务器返回的状态代码为:12002

我到处寻找答案,他们一直指向这个

httpRuntime maxRequestLength="1024000"executionTimeout="999999"ToolkitScriptmanager中的AsyncPostBackTimeout="360000"

这对我不起作用,有人能提出一些对我有帮助的建议吗?以下是部分代码:

<%@ Page Title="" ....AsyncTimeout="36000" EnableEventValidation="false" ValidateRequest="false" %>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" AsyncPostBackTimeout ="360000" >
</asp:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGeneraPed" runat="server" Text="GP" Height="45px" Width="148px"/>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<table>
<tr><td><img alt="Cargando" src="../images/loading.gif" /></td></tr></table>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:GridView ID="GV" runat="server" BackColor="White" 
......
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

所以在将近两天后,我终于可以弄清楚了。。。

非常简单。。。我在一台装有Windows XP和IE 8的机器上测试和开发了这个……我在Firefox和Chrome中测试了它,结果是肯定的,没有错误的

该问题与internet explorer 8的ReceiveTimeout设置有关。它是为了缩短

解决方案在本文中:
http://intersoftpt.wordpress.com/2009/06/23/resolve-page-cannot-be-displayed-issue-in-ie8/

在发布网站的web服务器上,我在IE 8中遇到了类似的问题(在Chrome中更进一步),只是没有ReceiveTimeout注册表项可删除。Chrome最终还是失败了,但它与这个问题无关。。。我想IE 8似乎更挑剔。我使用Timer_Tick来更新UpdatePanel。

发现我的web.config文件中需要一些引用:

<system.web>
    <pages>
       <controls>
           <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
       </controls>
       <namespaces>
           <clear/>
           <add namespace="System" />

       </namespaces>
    <compilation targetFramework="4.0" debug="false">
        <assemblies>
            <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </assemblies>
    </compilation>
    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
</system.web>
<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>
</system.webServer>

您可以在C:\Program Files(x86)\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025的web.config中找到这些部分。

相关内容

最新更新