2017-12-15 4 views
0

Die innere Ausnahme: System.Net.Sockets.SocketException (0x80004005): Ein Verbindungsversuch ist fehlgeschlagen, weil der verbundene Teilnehmer nach einer bestimmten Zeit nicht ordnungsgemäß reagiert hat oder eine Verbindung aufgrund eines verbundenen Hosts fehlgeschlagen ist hat nicht geantwortetVerbindung zum Remoteserver kann nicht hergestellt werden WebClient

Hintergrund: Dieser Fehler kommt von einem Webservice, der aufgerufen wird. Wenn Visual Studio lokal ausgeführt wird, funktioniert es ohne Probleme. Wenn ich diese Anwendung auf einem Server ausliege und den gleichen Webservice triff, erhalte ich diesen Fehler.

Was ich versucht habe: Erstellen der URI von C# Bibliothek anstelle einer Zeichenfolge verwenden. Ausfiltern der Proxy-Eigenschaft meines WebClient-Objekts Hinzufügen eines Eintrags in meiner Datei web.config, um einige Proxy-Dateien zu umgehen.

Relevante Code:

  try 
      { 
       var uri = ConfigurationManager.AppSettings["MyUrl"] + "apiAction"; 
       using (var httpClient = new WebClient()) 
       { 
        httpClient.BaseAddress = uri; 

        httpClient.Headers.Add("content-type", "application/json; charset=utf-8"); 
        var content = new 
        { 
         UserAuthorizationToken = userToken 
        }; 
        var jsonObj = JsonConvert.SerializeObject(content); 

        var response = httpClient.UploadString(uri, jsonObj); 

       } 
      } 

Könnte jemand mich in die richtige Richtung zeigen dies herauszufinden? Vielen Dank im Voraus

Edit (zu verbieten, in den Kommentaren zu graben):

Die URL wird überprüft, korrekt zu sein. Es gibt Winkelfunktionen, die erfolgreich auf dieselbe Methode an anderen Stellen der Anwendung zugreifen. Also, ich denke, dass es kein Problem mit der Firewall geben sollte, aber ich bin im Moment irgendwie verloren, daher kann ich nicht sicher sagen, dass das nicht der Fall ist. Ich kann auch in diesen Server remote

+1

Haben Sie sichergestellt, dass die richtigen Einstellungen in Produktion sind? Protokollieren Sie die URL, auf die es zuzugreifen versucht? Haben Sie versucht, in den Computer zu wechseln und zu überprüfen, ob Sie die URL im Browser erreichen können? Haben Sie überprüft, dass die Maschine nicht von Firewalls blockiert wird? – mason

+0

Die URL wurde als korrekt verifiziert. Es gibt Winkelfunktionen, die erfolgreich auf dieselbe Methode an anderen Stellen der Anwendung zugreifen. Also, ich denke, dass es kein Problem mit der Firewall geben sollte, aber ich bin im Moment irgendwie verloren, daher kann ich nicht sicher sagen, dass das nicht der Fall ist. Ich kann auch remote in diesen Server –

+1

Sie sagen, wenn die API von der Client-Seite (JavaScript-Code) zugreifen funktioniert es gut, aber wenn vom Server aufgerufen, tut es nicht? Wenn Sie zu 100% sicher sind, dass die URL richtig ist, handelt es sich sicherlich um ein Netzwerk-/Firewall-Problem. RDP's in den Server und sicherstellen, dass Sie mit einem Browser oder Powershell Invoke-WebRequest darauf zugreifen können, ist definitiv einen Versuch wert. –

Antwort

0

Die Antwort für diese stellte sich heraus, ein Firewall-Problem, wie Mason und Dylan Nicholson wies darauf hin. Ich schätze die Richtung, Leute.

Verwandte Themen