Heim >Backend-Entwicklung >C++ >Warum schlägt das Hochladen meiner WCF 4.0-Datei mit der Fehlermeldung „Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies aktiv abgelehnt hat. 127.0.0.1:3446' fehl?

Warum schlägt das Hochladen meiner WCF 4.0-Datei mit der Fehlermeldung „Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies aktiv abgelehnt hat. 127.0.0.1:3446' fehl?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-13 09:17:42851Durchsuche

Why is My WCF 4.0 File Upload Failing with Error

Hochladen der WCF 4.0-Datei fehlgeschlagen: Fehler „Verbindung abgelehnt“ (127.0.0.1:3446)

Problembeschreibung: Bei Verwendung von WCF 4.0 für den Datei-Upload per Streaming tritt folgender Fehler auf: „Die Verbindung kann nicht hergestellt werden, da der Zielcomputer sie aktiv abgelehnt hat. 127.0.0.1:3446“

Fehlerdetails:

  • Der Fehler tritt in der folgenden Codezeile auf: Stream serverStream = request.GetRequestStream();
  • Der
  • Code versucht, mithilfe von HttpWebRequest und HttpWebResponse eine Verbindung zum REST-Endpunkt herzustellen.

Lösung:

Die Fehlermeldung weist darauf hin, dass die Verbindungsanfrage vom Zielcomputer abgelehnt wurde. Mögliche Gründe:

  • Firewall: Stellen Sie sicher, dass die Firewall ausgeschaltet ist oder Verbindungen auf dem angegebenen Port (3446) zulässt.
  • Hostprozess: Stellen Sie sicher, dass der Hostprozess des WCF-Dienstes ausgeführt wird und Port 3446 überwacht.

Testmethode:

Es wird empfohlen, nicht von einem Windows Forms-Projekt aus zu testen, sondern die Verbindung innerhalb des Dienstes selbst mit dem folgenden Code zu überprüfen:

<code class="language-csharp">string baseAddress = "http://localhost:3446/File/AddStream/stream.txt";
using (HttpClient client = new HttpClient())
{
    var response = client.GetAsync(baseAddress).Result;
    if (response.StatusCode == HttpStatusCode.BadRequest)
    {
        // 错误处理
    }
}</code>

Überprüfen Sie mit netstat:

Um zu überprüfen, ob der Dienst den richtigen Port überwacht, verwenden Sie den folgenden Befehl (vorausgesetzt, es handelt sich um ein Linux-System):

<code class="language-bash">netstat -anp | grep 3446</code>

Dadurch wird eine Zeile ausgegeben, die angibt, ob der Dienst Port 3446 überwacht. Erfolgt keine Ausgabe, überwacht der Dienst diesen Port nicht.

Das obige ist der detaillierte Inhalt vonWarum schlägt das Hochladen meiner WCF 4.0-Datei mit der Fehlermeldung „Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies aktiv abgelehnt hat. 127.0.0.1:3446' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn