- 日時: 2009/04/14 18:14
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[通信][インターネット][] * * キーワード:ftp送信,タイムアウト,Timeout,ストリームへの書込み時,HttpWebRequest * *********************************************************************************** タイトル : WebClientのDownloadDataのタイムアウトの時間の設定方法 記 事 No : 8529 投 稿 日 : 2009/01/06(Tue) 20:33 元質問者 : ヘイロー
WebClientのDownloadDataを使用してphpで作成したプログラムを実行していますが 100秒を超える処理を実行しますと、vb.net側でタイムアウトエラーになってしまい ます。 インターネットで色々探しましたがタイムアウトの時間を設定する方法が分かりません でした。 タイムアウトの時間を設定する方法を教えていただけないでしょうか? 以下にソースを記載します。 'ソースここから Dim ret as byte() = Nothing Dim WebC as System.Net.WebClient = Nothing
Try WebC = New System.Net.WebClient ret = WebC.DownloadData("処理するURLを記載") 'ここでタイムアウトエラーが発生 Catch ex as Exception
End Try 'ソースここまで
----------------------------------------------------------------------------------- 記事No : 8534 投稿日 : 2009/01/07(Wed) 11:41 回答者 : 花ちゃん ----------------------------------------------------------------------------------- 使った事がありませんので未確認ですが、検索したら HttpWebRequest.ReadWriteTimeout プロパティ で設定・取得できるような事が書いてありますが?
>ftp送信に100秒以上要する場合があるかもしれないため、どこかで設定できないか 既定値は、300,000 ミリ秒 (5 分) のようです。
http://msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest.readwritetimeout.aspx
----------------------------------------------------------------------------------- 記事No : 8543 投稿日 : 2009/01/08(Thu) 16:46 投稿者 : ヘイロー ----------------------------------------------------------------------------------- 記載していただいたホームページを参考しまして、 WebClientでは、タイムアウトの設定は無理なようなので、 HttpWebRequestを使用し、その中のTimeoutを設定することにより実現できました。
以下に実現しましたソースを記載します。
Dim Req As System.Net.HttpWebRequest Dim Res As System.Net.HttpWebResponse Dim Buf As System.IO.Stream
Req = CType(System.Net.WebRequest.Create("http://www.xxx.co.jp"), _ System.Net.HttpWebRequest) 'タイムアウト時間設定 Req.Timeout = 600000 Res = CType(Req.GetResponse(), System.Net.HttpWebResponse) Buf = Res.GetResponseStream()
|