0

私のコード (C#) では、WebRequest を使用しています。

var request = WebRequest.Create(url);

何らかの理由で、この行の実行には約 2 ~ 3 秒かかります。解決策を探しましたが、リクエストを作成するための解決策が見つかりませんでした。別の URL (http と https、google など) を試しましたが、何も役に立たないようです。他の誰かがそのような行動を経験しましたか? リクエストの作成中に何が起こっているのかを正確に説明できる人はいますか? 代替案はありますか?

ところで-私は64ビットのWin 7(Bootcamp)を使用しています

編集 - 次のコードのストップウォッチで 3.126 秒を測定 (ワイヤレス):

var request = WebRequest.Create("http://www.google.com");

同じネットワークで、有線のみで、0.01 秒かかりました。

みんな、ありがとう!

4

1 に答える 1

1

一部の 人々は、プロキシ検出に途方もなく長い時間がかかる可能性があることに気づきました。プロキシが存在しないことがわかっている場合は、WebRequestのプロキシプロパティをnullに設定してみてください。

var request = WebRequest.Create("http://www.google.com");
request.Proxy = null;

アップデート

他にアイデアはありませんが、問題を絞り込もうとする可能性のあることがいくつかあります。

  1. 構成ファイルに次のコードを入れて、ログを有効にします。

    <configuration>
      <system.diagnostics>
        <trace autoflush="true" />
        <switches>
          <add name="System.Net" value="Verbose"/>
        </switches>
      </system.diagnostics>
    </configuration>
    
  2. ILSpyまたは同様のツールのソースコードを確認しWebRequest.Create、同じことを直接実行してみてください。たとえば、new HttpWebRequest(...)呼び出すのではなく作成してみWebRequest.Createて、同じ動作が得られるかどうかを確認できます。

于 2012-10-25T23:14:45.847 に答える