WebClientクラスは、例えば、あなたが記述の機能を処理できるよりも多くする必要があります:
System.Net.WebClient wc = new System.Net.WebClient();
byte[] raw = wc.DownloadData("http://www.yoursite.com/resource/file.htm");
string webData = System.Text.Encoding.UTF8.GetString(raw);
か(さらにコメントでフレドリックからの提案に)
System.Net.WebClient wc = new System.Net.WebClient();
string webData = wc.DownloadString("http://www.yoursite.com/resource/file.htm");
あなたがそれを言います30秒かかりました、あなたはそれ以上に拡大できますか?なぜそれが起こったのかという理由はたくさんあります。あなたは下のレベルに行くと、このような何かを実装できスローサーバ、インターネット接続、危険な実装などなど
:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com/resource/file.htm");
using (StreamWriter streamWriter = new StreamWriter(webRequest.GetRequestStream(), Encoding.UTF8))
{
streamWriter.Write(requestData);
}
string responseData = string.Empty;
HttpWebResponse httpResponse = (HttpWebResponse)webRequest.GetResponse();
using (StreamReader responseReader = new StreamReader(httpResponse.GetResponseStream()))
{
responseData = responseReader.ReadToEnd();
}
はしかし、一日の終わりにWebClientクラスは、のために、この機能を包み込みます君は。そこで、WebClientを使用し、30秒の遅延の原因を調査することをお勧めします。
WebClientクラスへ
クレジットはここに自然な選択です。 Webクライアントは、実行に30秒かかるべきではありません(他のネットワークに問題がないと仮定して)。 – Jimmy
あなたの選択は、WebClientまたはWebRequest/WebResponse(これはWebClientがシーンの下で使用するものです。なぜそれが遅いかに関しては、これは.NET HTTPスタックの実装とは何の関係もありません。ネットワーク上の問題、取得しようとしているWebサイトの実装がうまくいかないために応答が遅くなるなどの問題が発生する可能性があります。たとえば、http://www.google.co.jpあなたのサイトで観察している30秒をはるかに下回るレスポンスを取得するには、数ミリ秒かかります。 –
パスで平均解析するのですか?もしそうなら、あなたはどの技術を解析していますか?すなわち、どのような種類のテキストボックス勝ちフォーム、別のウェブサイトですか? – Rob