Intermittierender Empfangsfehler bei Verwendung von mvc webgrid on server only

9

Ich verwende die System.Web.Helpers.WebGrid ausführlich in unserer Anwendung, und in den meisten Fällen ist es in Ordnung und in der Tat läuft lokal immer gut oder mit einem Self-SSL auf dem Server ist es auch in Ordnung. Also ich weiß nicht, ob das Problem tatsächlich mit IIS oder einer Firewall oder dem eigentlichen Grid oder was ich tun muss, um es zu beheben, ist.

In allen Browsern, obwohl das Ergebnis etwas anders ist, wird das Ajax-Sortieren und Paging im WebGrid dazu führen, dass es hängen bleibt, und wenn ich die Antwort in Fiddler überprüfe, bekomme ich

  

[Fiddler] ReadResponse() fehlgeschlagen: Der Server hat für diese Anfrage keine Antwort zurückgegeben.

Wenn ich die URL direkt in einen Browser kopiere und einfüge, wird sie geladen, aber wenn ich fortwährend F5 drücke, bekomme ich eventuell eine Nachricht mit der Angabe "Diese Webseite ist nicht verfügbar" in Chrome (mit Fehler 103 ERR_CONNECTION_ABORTED ) oder "Internet Explorer kann die Webseite nicht anzeigen" in IE.

Die URL ist ziemlich lang und verschlungen, etwas wie http://app.myapp.com/mygrid/9e3b2ae5-cbe1-4a4a-a355-a14f00d26e24?mylayout=true&myid=634982439599769687&readonly=False&search=-&__=634982439708207187&sort=Name&dir=ASC

und dieses Problem scheint wegzugehen, wenn ein SSL-Zertifikat auf dem Server installiert ist und überhaupt nicht lokal passiert.

Irgendwelche Ideen?

    
Adam 07.03.2013, 11:30
quelle

1 Antwort

5

Ihr letzter Absatz Ihrer Frage

  

und dieses Problem scheint zu verschwinden, wenn ein SSL-Zertifikat installiert ist   auf dem Server, und passiert überhaupt nicht lokal.

hat mich sofort an mögliche Probleme mit den Problemen DEFLATE und GZIP erinnert, weil sie wussten, dass sie bei verschlüsselter Verbindung und möglicherweise auch bei lokalen Verbindungen deaktiviert wären, da Sie das gleiche Zertifikat nicht wirklich vom Server verschieben können Umgebung zu Ihrer lokalen Entwicklungsumgebung (die ihren Zweck übertreffen würde) und müsste ein neues selbstsigniertes Zertifikat für Testzwecke erstellen, wenn das eine Voraussetzung ist.

Ich bin auch zufällig über Probleme zuvor mit einem der vorherigen .NET 4.0, Version 4.0.30319.236, um genau zu sein. Diese Probleme wurden in späteren .NET 4.0-Builds gelöst und können durch die Installation von .NET 4.5 auf der 4.0-Installation vermieden werden. Wenn das Ihre Probleme verursacht hat, ist es immer noch ziemlich schwierig zu sagen und einige andere serverseitige Einstellungen haben es möglicherweise verursacht, wie das jetzt eingestellte IIS Lockdown Tool oder sogar URLScan akzeptiert keine langen URL-Anfragen, wenn die Komprimierung für sie aktiviert ist.

TL; DR - In beiden Fällen bestand die offensichtliche Schlussfolgerung darin, die urlCompression des IIS-Servers für diese Anfragen (und / oder httpCompression ) in Ihrer Web.config -Datei zu deaktivieren und zu prüfen, ob Die Probleme bestehen weiterhin:

%Vor%

Dies ist offensichtlich eine Hack-Lösung, die weiter untersucht werden sollte, indem Unterschiede zwischen Servern und Ihrer lokalen Umgebung verglichen werden, wenn das überhaupt möglich ist. Es ist auch gut möglich, dass der Server nicht mit den neuesten Bibliotheken aktualisiert wurde, und dies könnte auch zu einer Lösung führen.

DISCLAIMER : Mir ist klar, dass dies keine 100% kugelsichere Antwort ist, OP hat jedoch in den Kommentaren vorgeschlagen, dass es den Trick gemacht hat. Ich habe auch diese Frage und eine mögliche Antwort darauf gepostet auf DMZ und fragte, ob jemand anderes von einer besseren Antwort wüsste und dass diese Probleme sofort von unserem IT-Sicherheit Assistenten, aber der St. Patrick's Day scheint seinen Tribut gefordert zu haben:)

Prost!

    
TildalWave 18.03.2013, 19:52
quelle

Tags und Links