Pregunta

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

Lo que pude diagnosticar hasta ahora fue que en algún momento en el proceso, los recursos de Webresource.axd que contienen el código Telerik JavaScript se están bloqueando. Pedirle al cliente que navegue directamente al archivo AXD en sí con la misma QueryString es producir un mensaje de error "la conexión con el servidor" en restablecimiento "en Internet Explorer.

El cliente ha intentado descargar ese archivo de 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 hogar, y recibe el mismo error cada vez. Han intentado usar Internet Explorer y Firefox.

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

Según los registros de IIS, todos los intentos registrados de descargar el recurso arrojaron un resultado OK de 200 http.

Otras cosas que se han intentado:

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

Ahora estoy perdido por lo que podría ser el problema en este momento. Nuestro servidor de alojamiento ha estado alojando docenas de diferentes aplicaciones ASP.NET (incluidas varias instancias de la 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 es algo en el final del cliente con un firewall inadecuado o una configuración de filtrado de contenido del enrutador, pero eso no explica por qué el cliente ve los mismos problemas fuera del firewall y en el hogar.

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

¿Fue útil?

Solución 2

Nunca descubrí cuál era el problema, pero actualizar los RadControls a lo último (Q1'09 final) parecía resolver el problema.

Otros consejos

Si esto está sucediendo con el clásico RadControls para ASP.NET, intente configurar UseEmbedDedScripts = "False" para los controles en la página. Esto hará que sirvan 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 está sucediendo con RadControls para ASP.NET AJAX, los scripts de controles se descargan utilizando el Script Manager (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, la respuesta del servidor, qué hay en el cuerpo de respuesta, etc.).

Para eliminar WebResource.axd y ScriptResource.axd Desde la página, necesitas

  • Abra el Assmbly relacionado utilizando el Reflector o ILSPY y luego guarde sus archivos JS integrados de la sección Recursos.
  • Ahora agrégalos como referencias de script usando ASP: ScriptManager

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

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

Y ya no se bloqueará.

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top