58

ローカルマシンで動作している次のコードを使用していますが、サーバーで同じコードを試すとエラーがスローされます

接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました

これが私のコードです:

WebClient client = new WebClient();
// Add a user agent header in case the 
// requested URI contains a query.
//client.Headers.Add ("ID", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID);
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
Console.WriteLine(s);
data.Close();
reader.Close();

エラーが発生しています

Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID);

ファイアウォールの設定によるものですか?

4

12 に答える 12

24

同様の問題があり、次を使用して URL を文字列から Uri オブジェクトに変換する必要がありました。

Uri myUri = new Uri(URLInStringFormat, UriKind.Absolute);

(URLInStringFormat は URL です) 次のように、文字列の代わりに Uri を使用して接続を試みます。

WebClient client = new WebClient();
client.OpenRead(myUri);
于 2013-10-22T11:05:57.650 に答える
17

プロキシアドレスを明示的に設定しweb.configて問題を解決しました

<system.net> 
    <defaultProxy> 
            <proxy usesystemdefault = "false" proxyaddress="http://address:port" bypassonlocal="false"/> 
    </defaultProxy> 
</system.net>

Web サービスの使用中に「TCP エラー コード 10060: 接続試行に失敗しました...」を解決する

于 2015-05-11T12:40:31.147 に答える
2

このコードがブラウザでアクセスできるようにしている URL はありますか?

http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID

最初に確認する必要があるのは、作成している URL が正しいことです。次に、ブラウザをチェックインして、ブラウズしているかどうかを確認します。次に、Fiddlerツールを使用して、ネットワーク上を通過するものを確認します。コードから呼び出されている URL が誤ってエスケープされている可能性があります。

次に、ファイアウォール関連の問題を確認します。

于 2013-07-17T07:15:31.633 に答える