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?
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:
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!
Tags und Links asp.net-mvc c# iis webgrid