ホームページ > バックエンド開発 > C++ > WCF 4.0 ファイルのアップロードが「ターゲット マシンが積極的に拒否したため接続できませんでした。127.0.0.1:3446」というエラーで失敗するのはなぜですか?

WCF 4.0 ファイルのアップロードが「ターゲット マシンが積極的に拒否したため接続できませんでした。127.0.0.1:3446」というエラーで失敗するのはなぜですか?

Patricia Arquette
リリース: 2025-01-13 09:17:42
オリジナル
853 人が閲覧しました

Why is My WCF 4.0 File Upload Failing with Error

WCF 4.0 ファイルのアップロードに失敗しました: 接続拒否エラー (127.0.0.1:3446)

問題の説明: ストリーミング経由のファイル アップロードに WCF 4.0 を使用すると、次のエラーが発生します: 「ターゲット コンピューターが積極的に拒否したため、接続を確立できません。127.0.0.1:3446」

エラーの詳細:

  • 次のコード行でエラーが発生します: Stream serverStream = request.GetRequestStream();
  • コードは、HttpWebRequestHttpWebResponse を使用して REST エンドポイントへの接続を試みます。

解決策:

エラー メッセージは、接続要求がターゲット コンピューターによって拒否されたことを示します。考えられる理由:

  • ファイアウォール: ファイアウォールがオフになっているか、指定されたポート (3446) での接続を許可していることを確認してください。
  • ホスト プロセス: WCF サービスのホスト プロセスが実行されており、ポート 3446 でリッスンしていることを確認します。

テスト方法:

Windows フォーム プロジェクトからテストするのではなく、次のコードを使用してサービス自体の内部の接続をチェックすることをお勧めします:

<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>
ログイン後にコピー

netstat を使用して検証します:

サービスが正しいポートでリッスンしていることを確認するには、次のコマンドを使用します (Linux システムを想定):

<code class="language-bash">netstat -anp | grep 3446</code>
ログイン後にコピー

これにより、サービスがポート 3446 でリッスンしているかどうかを示す行が出力されます。出力がない場合、サービスはそのポートをリッスンしていません。

以上がWCF 4.0 ファイルのアップロードが「ターゲット マシンが積極的に拒否したため接続できませんでした。127.0.0.1:3446」というエラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート