update trigger the pagerequestmanagertimeoutexception net asyncpostbacktimeout asp asp.net ajax updatepanel

trigger - ASP.NET UpdatePanel Time Out



sys webforms pagerequestmanagertimeoutexception the server request timed out (7)

Estoy haciendo una solicitud desde un UpdatePanel que toma más de 90 segundos. Recibo este error de tiempo de espera:

Error de tiempo de ejecución de Microsoft JScript: Sys.WebForms.PageRequestManagerTimeoutException: se agotó el tiempo de espera de la solicitud del servidor.

¿Alguien sabe si hay una manera de aumentar la cantidad de tiempo antes de que la llamada agote el tiempo de espera?


Bueno, supongo que eso funcionaría si solo quieres que la solicitud se descarte con el potencial de que nunca se haya ejecutado por completo ...

Agregue una propiedad AsyncPostBackTimeOut a la etiqueta ScriptManager para cambiar su tiempo de espera predeterminado de 90 segundos a algo más razonable para su aplicación.

Además, considere cambiar el servicio web que recibe la llamada para moverse más rápido. 90 segundos también pueden ser infinito en el tiempo de Internet.


El problema al que se enfrenta es cuando su aplicación se ejecuta en un tiempo de espera en una consulta de base de datos SQL. Se tarda más tiempo que el predeterminado para devolver la salida. Por lo tanto, necesita aumentar la propiedad ConnectionTimeout.

Puedes hacerlo de varias maneras:

  1. Una cadena de conexión tiene una propiedad ConnectionTimeout . Es una propiedad que determina la cantidad máxima de segundos que su código esperará para que se abra una conexión de la base de datos. Puede establecer el tiempo de espera de conexión en la sección de cadena de conexión en web.config .

    <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. Puede poner AsyncPostBackTimeout="6000" en la página .aspx

    <asp:ToolkitScriptManager runat="server" AsyncPostBackTimeOut="6000"> </asp:ToolkitScriptManager>

  3. Puede establecer el tiempo de espera en SqlCommand , donde llama al procedimiento almacenado en el archivo .cs.

    command.CommandTimeout = 30*1000;

Espero que tengas una solución!


En mi caso, el objeto ScriptManager se creó en un archivo de página maestra que luego se compartió con los archivos de la página de contenido. Entonces, para cambiar la propiedad ScriptManager.AsyncPostBackTimeout en la página de contenido, tuve que acceder al objeto en el archivo aspx.cs de la página de contenido:

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


Esto hizo el truco (básicamente ignorando todos los tiempos muertos):

<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>


Esto podría ser configurable al cambiar el tiempo de espera del script ASP en IIS.

Está ubicado en las propiedades de su sitio web, directorio virtual, botón de configuración, luego en la pestaña de opciones.

o configurarlo estableciendo la propiedad Server.ScriptTimeout.


Hay una propiedad en ScriptManager:

AsyncPostBackTimeout="300"


Por favor, siga los pasos a continuación:

Paso 1: en web.config , establece httpRuntime maxRequestLength="1024000" executionTimeout="999999"

Paso 2: agregue la siguiente configuración al ScriptManager de su página web: AsyncPostBackTimeout ="360000"

Esto resolverá su problema.