tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
WebClientのDownloadDataのタイムアウトの設定方法(VB.NET) ( No.0 )  [親スレッドへ]
日時: 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()



 [スレッド一覧へ] [親スレッドへ]