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

Asp.net 4.0 UpdatePanel错误:Sys.WebForms.PageRequestManagerServerErrorException:从服务器返回的状态代码为:12002,asp.net,ajax,updatepanel,asp.net-4.0,updateprogress,Asp.net,Ajax,Updatepanel,Asp.net 4.0,Updateprogress,我有一个大约需要15-20秒才能执行的过程,最后它会更新updatepanel以刷新gridview 但它总是让我犯这样的错误: Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。从服务器返回的状态代码为:12002 我到处都在寻找答案,他们一直在指出这一点 httpRuntime maxRequestLength=“1024000”executionTimeou

我有一个大约需要15-20秒才能执行的过程,最后它会更新updatepanel以刷新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的接收超时设置有关。。时间太短了

本文介绍了解决方案:

在我发布网站的web服务器上,IE 8(在Chrome中更进一步)也有类似的问题,只是没有要删除的ReceiveTimeout注册表项。Chrome最终还是失败了,但与这个问题无关。。。我想IE8似乎更挑剔。我用了一个定时器来更新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" />



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

只是一个建议360000是一个很长的时间,为什么不试试30个呢?另外,我不确定AV是否是原因。我会尝试一个更合理的时间,但你说的“AV”是什么意思?很高兴这对你有用,但我在发布我的网站的web服务器上的IE 8(Chrome中有一点进一步)中也遇到了类似的问题,只是没有ReceiveTimeout注册表项。Chrome最终还是失败了。我正在使用计时器来更新UpdatePanel。IE给了我你的错误,Chrome说我的Tick函数中有一个对象引用没有被设置为对象的实例(我发现这是IE可以得到的下游错误)。
       </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>