Maison > développement back-end > C++ > Pourquoi mon téléchargement de fichier WCF 4.0 échoue-t-il avec l'erreur « Aucune connexion n'a pu être établie car la machine cible l'a activement refusée. 127.0.0.1:3446 » ?

Pourquoi mon téléchargement de fichier WCF 4.0 échoue-t-il avec l'erreur « Aucune connexion n'a pu être établie car la machine cible l'a activement refusée. 127.0.0.1:3446 » ?

Patricia Arquette
Libérer: 2025-01-13 09:17:42
original
851 Les gens l'ont consulté

Why is My WCF 4.0 File Upload Failing with Error

Échec du téléchargement du fichier WCF 4.0 : erreur de connexion refusée (127.0.0.1:3446)

Description du problème : Lors de l'utilisation de WCF 4.0 pour le téléchargement de fichiers via le streaming, l'erreur suivante se produit : "La connexion ne peut pas être établie car l'ordinateur cible l'a activement rejetée. 127.0.0.1:3446"

Détails de l'erreur :

  • L'erreur se produit au niveau de la ligne de code suivante : Stream serverStream = request.GetRequestStream();
  • Le
  • code tente de se connecter au point de terminaison REST à l'aide de HttpWebRequest et HttpWebResponse.

Solution :

Le message d'erreur indique que la demande de connexion a été rejetée par l'ordinateur cible. Raisons possibles :

  • Pare-feu : Assurez-vous que le pare-feu est désactivé ou autorise les connexions sur le port spécifié (3446).
  • Processus hôte : Vérifiez que le processus hôte du service WCF est en cours d'exécution et écoute sur le port 3446.

Méthode de test :

Il est recommandé de ne pas tester à partir d'un projet Windows Forms, mais de vérifier la connexion à l'intérieur du service lui-même à l'aide du code suivant :

<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>
Copier après la connexion

Vérifiez à l'aide de netstat :

Pour vérifier que le service écoute sur le bon port, utilisez la commande suivante (en supposant un système Linux) :

<code class="language-bash">netstat -anp | grep 3446</code>
Copier après la connexion

Cela affichera une ligne indiquant si le service écoute sur le port 3446. S'il n'y a aucune sortie, le service n'écoute pas sur ce port.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal