Asp.net 4.0 UpdatePanel错误:Sys.WebForms.PageRequestManagerServerErrorException:从服务器返回的状态代码是:12002

时间:2012-07-20 18:16:28

标签: asp.net ajax updatepanel asp.net-4.0 updateprogress

我有一个大约需要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>

2 个答案:

答案 0 :(得分:2)

所以经过近两天我终于可以搞清楚了......

这非常简单......我正在使用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/

答案 1 :(得分:0)

我在我发布网站的网络服务器上的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>

如果您安装了ASP .NET 2.0 AJAX扩展,可以在C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP .NET 2.0 AJAX Extensions \ v1.0.61025的web.config中找到这些部分,执行的另一个步骤可能会导致这样的错误。