0

NET Web アプリケーションは、リモート Web サービスを呼び出して情報を取得します。Web アプリケーションをローカル マシンの IIS に展開して実行すると、リモート Web サービスに正常にアクセスできます。ただし、ライブ サーバーの 1 つに Web アプリケーションをデプロイすると、System.Net.Sockets.SocketException が発生します。

ターゲット マシンがアクティブに拒否したため、接続できませんでした 87.224.86.167:8080

リクエストを作成するために使用している C# コードは非常に単純です。

using (var client = new System.Net.WebClient())
{
    string data = "{\"operation\":\"logon\", \"username\":\"" + hwCommUsername + "\", \"password\":\"" + hwCommPassword + "\"}";
    byte[] response = client.UploadData(uri, "PUT", Encoding.UTF8.GetBytes(data));
    string jsonResponse = Encoding.UTF8.GetString(response);
    object decoded = EncoderHelper.JsonDecode(jsonResponse);
}

理由はありますか?

更新: 私がアクセスしている Uri の例は次のとおりです: http://a23416.loco-pos.netこれは、正しい資格情報が渡される有効な URI です。

4

1 に答える 1

2

このStackoverFlow投稿を参照してくださいターゲットマシンが積極的に拒否したため、接続できませんでした

「積極的に拒否した」とは、接続しようとしたときに、ホストがackではなくリセットを送信したことを意味します。したがって、コードに問題はありません。接続をブロックしているファイアウォールがあるか、サービスをホストしているプロセスがそのポートでリッスンしていないかのいずれかです。これは、サービスがまったく実行されていないか、別のポートでリッスンしていることが原因である可能性があります。

サービスをホストするプロセスを開始したら、netstat -anb(管理者権限が必要です)サービスが実行され、期待されるポートでリッスンしていることを確認してください。

于 2013-01-16T18:20:06.527 に答える