asp.net telerik webresource.axd axd

Recursos ASP.NET AXD bloqueados en el lado del cliente?



telerik webresource.axd (3)

Tengo una aplicación web que estoy hospedando, y un cliente mío informa que ciertas bibliotecas Javascript de Telerik que están incluidas en el sitio (pero no todas) no funcionan correctamente.

Lo que pude diagnosticar hasta ahora fue que en algún punto del proceso, los recursos de WebResource.axd que contienen el código de Telerik javascript se bloquean. Pedirle al cliente que navegue directamente al archivo AXD con la misma cadena de consulta genera un mensaje de error "La conexión al servidor se reinició" en Internet Explorer.

El cliente ha intentado descargar ese archivo desde varias máquinas en su ubicación, así como una máquina fuera de su firewall y red, y una máquina que se ejecuta en su casa, y recibe el mismo error cada vez. Han intentado usar tanto Internet Explorer como Firefox.

Sin embargo, puedo descargar con éxito el mismo archivo dentro de nuestra red de alojamiento, fuera de él y desde mi conexión domiciliaria.

De acuerdo con los registros de IIS, todos los intentos de descargar el recurso arrojaron un resultado de 200 HTTP OK.

Otras cosas que se han intentado:

  • Un enlace a un 404.axd no existente (dio el mensaje de error amarillo ASP.NET 404 como se esperaba)
  • Un enlace a WebResource.axd, pero con una cadena de consulta no válida que apunta a un recurso que no existe (proporcionó el estado de visualización amarillo inválido de ASP.NET o la cadena base64 no válida, como se esperaba)
  • Un enlace al mismo WebResource.axd, pero a través de un encabezado de host diferente (el mismo mensaje de error de "restablecimiento de la conexión").

Ahora estoy perdido por lo que posiblemente podría ser el problema en este momento. Nuestro servidor de hosting ha hospedado docenas de aplicaciones ASP.NET diferentes (incluidas varias instancias del que está en cuestión) durante años y esta es la primera queja que he visto con respecto a esto.

Estoy 99% seguro de que el problema está en el extremo del cliente con una configuración de filtro de contenido de firewall o enrutador inadecuado, pero eso no explica por qué el cliente está viendo los mismos problemas tanto fuera del firewall como en casa.

¿Alguna idea sobre qué podría estar yendo mal o incluso qué preguntas adicionales hacer? ¿Alguien ha visto algo remotamente así?


Si esto sucede con los RadControls clásicos para ASP.NET, intente configurar UseEmbeddedScripts = "false" para los controles en la página. Esto les hará servir a todos los scripts de la carpeta RadControls (archivos físicos .js) en lugar de usar recursos integrados (WebResource.axd). Naturalmente, debe asegurarse de tener los archivos de script en su carpeta RadControls.

Si esto sucede con los RadControls para ASP.NET AJAX, los scripts de control se descargan utilizando el administrador de scripts (ScriptResource.axd y no WebResource.axd). En cualquier caso, puede intentar usar el Telerik RadScriptManager en lugar del ASP.NET ScriptManager; esto combinará y comprimirá todos los scripts en una sola solicitud.

Finalmente, puede pedirle a su cliente que descargue e instale Fiddler para IE o Firebug para Firefox y verifique qué está sucediendo exactamente con las solicitudes que fallan (por ejemplo, respuesta del servidor, qué hay en el cuerpo de respuesta, etc.).


Nunca resolvió cuál era el problema, pero la actualización de RadControls a la última versión (final de Q1''09) pareció resolver el problema.


Para eliminar WebResource.axd y ScriptResource.axd de la página, necesita

  • Abra el archivo adjunto relacionado utilizando Reflector o ILSpy y luego guarde sus archivos JS incrustados en la sección de recursos.
  • Ahora agréguelos como referencias de scripts usando asp: ScriptManager

Más tarde, estas definiciones se representarán como:

<script src="staticJS1.js" type="text/javascript"></script> <script src="staticJS2.js" type="text/javascript"></script>

Y no será bloqueado nunca más

<asp:ScriptManager ID="Scriptmanager1" runat="server"> <Scripts> <asp:ScriptReference Name="MicrosoftAjaxWebForms.js" Assembly="System.Web.Extensions" Path="~/staticJS1.js" /> <asp:ScriptReference Name="MicrosoftAjax.js" Assembly="System.Web.Extensions" Path="~/staticJS2.js" /> </Scripts> </asp:ScriptManager>