Frage

Ich habe eine Webanwendung, die ich hebe, und ein Kunde von mir berichtet, dass bestimmte Telerik -JavaScript -Bibliotheken, die in der Website (jedoch nicht alle) nicht ordnungsgemäß funktionieren.

Was ich bisher diagnostizieren konnte, war, dass irgendwann im Prozess die Webresource.AXD -Ressourcen, die den Telerik Javascript -Code enthalten, blockiert werden. Bitten Sie den Client, direkt zur AXD -Datei selbst mit demselben QueryString zu navigieren, eine Fehlermeldung "Die Verbindung zum Server wurde zurückgesetzt" in Internet Explorer.

Der Client hat versucht, diese Datei von mehreren Maschinen an seinem Standort sowie einen Computer außerhalb ihrer Firewall und ihres Netzwerks sowie einen Maschine zu Hause herunterzuladen, und erhält jedes Mal den gleichen Fehler. Sie haben versucht, sowohl Internet Explorer als auch Firefox zu verwenden.

Ich bin jedoch in der Lage, dieselbe Datei sowohl innerhalb unseres Hosting -Netzwerks als auch von meiner Heimverbindung erfolgreich herunterzuladen.

Laut den IIS -Protokollen ergab alle protokollierten Versuche, die Ressource herunterzuladen, ein 200 HTTP OK -Ergebnis.

Andere Dinge, die versucht wurden:

  • Ein Link zu einer nicht existanten 404.AXD (gab die gelbe ASP.NET 404 -Fehlermeldung wie erwartet)
  • Ein Link zu webresource.axd, jedoch mit einem ungültigen QueryString, der auf eine Ressource hinweist, die nicht existiert (gaben dem gelben ASP.NET ungültigen ViewState oder ungültiger Basis64 -String erwartungsgemäß)
  • Ein Link zu demselben webresource.axd, jedoch über einen anderen Host -Header (gleiche Fehlermeldung "Verbindungsreset").

Ich bin jetzt ratlos für das, was zu diesem Zeitpunkt möglicherweise das Problem sein könnte. Unser Hosting -Server hostet seit Jahren Dutzende verschiedener ASP.NET -Anwendungen (einschließlich mehrerer Fälle der fraglichen Fälle). Dies ist die erste Beschwerde, die ich dazu gesehen habe.

Ich bin mir zu 99% sicher, dass das Problem mit einer unsachgemäßen Konfiguration des Clients mit einer unsachgemäßen Firewall- oder Router -Inhaltsfilterungskonfiguration steht, aber das erklärt nicht, warum der Kunde dieselben Probleme sowohl außerhalb der Firewall als auch zu Hause sieht.

Irgendwelche Ideen, was schief gehen könnte oder ob weitere Fragen zu stellen sind? Hat jemand etwas so aus der Ferne gesehen?

War es hilfreich?

Lösung 2

Ich habe nie herausgefunden, was das Problem war, aber die Aktualisierung der Radcontrols auf das neueste (Q1'09 -Finale) schien das Problem zu lösen.

Andere Tipps

Wenn dies mit den klassischen Radcontrols für ASP.NET geschieht, versuchen Sie es mit der Einstellung von Useembededscripts = "False" für die Steuerelemente auf der Seite. Dadurch werden sie allen Skripten aus dem Ordner radcontrols (physische .js -Dateien) dienen, anstatt eingebettete Ressourcen (webresource.axd) zu verwenden. Natürlich müssen Sie sicherstellen, dass Sie über die Skriptdateien in Ihrem Radcontrols -Ordner verfügen.

Wenn dies mit den Radcontrols für ASP.NET AJAX passiert, werden die Steuerungsskripte mit dem Skript -Manager (scriptresource.axd und nicht webresource.axd) heruntergeladen. In jedem Fall können Sie versuchen, den Telerik RadscriptManager anstelle des ASP.NET -Skriptmanagers zu verwenden. Dies kombiniert und komprimiert alle Skripte in einer Anforderung.

Schließlich können Sie Ihren Kunden bitten, Fiddler für IE oder Firebug für Firefox herunterzuladen und zu installieren und zu überprüfen, was genau mit den Anfragen geschieht, die fehlschlagen

Eliminieren WebResource.axd und ScriptResource.axd Auf der Seite müssen Sie

  • Öffnen Sie den zugehörigen Assmbly mithilfe des Reflektors oder ILSPY und speichern Sie dann seine eingebetteten JS -Dateien im Abschnitt Ressourcen.
  • Fügen Sie sie nun als Skriptreferenzen mit ASP: ScriptManager hinzu

Später werden diese Definitionen als:

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

Und wird nicht mehr blockiert.

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top