内部例外:System.Net.Sockets.SocketException(0x80004005):接続先が一定期間後に正しく応答しなかったか、接続されたホスト応答に失敗しましたリモートサーバーWebClientに接続できません
背景:このエラーは、Webサービスが呼び出されたことに起因します。 Visual Studioをローカルで実行すると、問題なく動作します。このアプリケーションをサーバーに展開して、同じWebサービスを起動すると、このエラーが発生します。
私が試したこと:文字列を使用するのではなく、C#ライブラリからURIを作成する。 WebClientオブジェクトのプロキシプロパティを無効にします。私のweb.configファイルにいくつかのプロキシをバイパスするエントリを追加する。
関連するコード:
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);
}
}
誰もがこれを考え出すに正しい方向に私を指すもらえますか?事前に感謝
編集(コメントで掘るする必要がないようにするために):
URLが正しいことが確認されました。アプリケーションの他の場所でこの同じメソッドに正常にアクセスしている角度関数があります。だから、私はファイアウォールの問題があってはならないと思っていますが、現時点では紛失しているので、自信を持って言えません。私はこのサーバに遠隔操作することもできます
正しく設定されていることを確認しましたか?あなたがアクセスしようとしているURLを記録しますか?あなたはマシンにリモーティングを試み、ブラウザのURLにアクセスできることを確認しましたか?マシンがファイアウォールによってブロックされていないことを確認しましたか? – mason
URLが正しいことが確認されています。アプリケーションの他の場所でこの同じメソッドに正常にアクセスしている角度関数があります。だから、私はファイアウォールの問題があってはならないと思っていますが、現時点では紛失しているので、自信を持って言えません。私はまた、このサーバーにリモートすることができます –
APIがクライアント側(javascriptコード)からアクセスしているときはうまく動作しますが、サーバーから呼び出されたときにはそうではありませんか? URLが正しいことを100%確信しているなら、確かにネットワーク/ファイアウォールの問題です。 RDPでサーバに接続し、ブラウザやPowerShellでアクセスできるようにするためには、Invoke-WebRequestを試してみる価値があります。 –