Ich mache HttpRequests zu einem externen Server von meiner ASP.NET-Anwendung auf eine URL wie zB:Http Anfrage schlägt aus ASP.NET Code auf Test Server (schlägt auch aus IE ... aber nicht Firefox !?)
https://1.2.3.4:12345/Data/Users?Id=1
Der Server läuft ein Dienst, der (wie ein Web-Service) auf diese Anforderungen mit xml reagiert. Mein Code macht eine GET-Anfrage wie folgt:
var wc = new System.Net.WebClient();
wc.Credentials = credentials; // username and password for service
// get data from server.
string s = Encoding.ASCII.GetString(wc.DownloadData(url));
return s;
Es funktioniert gut auf meiner Entwicklungsmaschine.
Aber auf meiner Test-Maschine (alt Windows Server 2003 64-Box) mit dieser Ausnahme nicht:
System.Net.WebException: Die zugrunde liegende Verbindung wurde geschlossen: ein unerwarteter Fehler bei einem senden.
---> System.IO.IOException: Daten von der Transportverbindung konnten nicht gelesen werden: Eine bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen.
---> System.Net.Sockets.SocketException: Eine bestehende Verbindung wurde von der Remote-Host
googeln sagt mich gewaltsam geschlossen ist dies Fehler über eine Million verschiedene mögliche Ursachen haben. Keiner scheint zu gelten.
Details:
- ich den Antrag durch Einfügen der URL in einem Browser machen kann, und das funktioniert auf dem Dev-Server, sondern auf dem Testserver, es funktioniert auf Firefox, aber nicht IE (! ?!) IE gibt ein generisches "Internet Explorer kann die Webseite nicht anzeigen" - sieht genauso aus, wenn ich die IP-Adresse zu etwas ändern, das nicht existiert.
- Der Server ist durch ein selbstsigniertes SSL-Zertifikat geschützt, das dem vertrauenswürdigen Zertifikatspeicher des lokalen Computers auf beiden Clients (den Test- und den Entwicklungsboxen) hinzugefügt wurde. Aber es ist unwahrscheinlich, ein Zertifikat Problem, da es funktioniert gut auf dev, und immer noch passiert, wenn Sie Zertifikat Validierung (auf Test) ignorieren.
- Ich kann Telnet auf den Server (mit der richtigen IP und Port) von der Testbox.
Kann jemand etwas vorschlagen, um es zu versuchen? Eine mögliche Ursache? Eine Möglichkeit, es etwas einzugrenzen?