- PR -

Stream クラス再び

1
投稿者投稿内容
janon
会議室デビュー日: 2003/04/02
投稿数: 13
お住まい・勤務地: 東京都
投稿日時: 2003-05-14 15:09
VB.NETで
Streamオブジェクトを
下の様なコードの中で扱うと、

RQ = System.Net.WebRequest.Create(strURL)
RS = RQ.GetResponse
Dim ST As System.IO.Stream = RS.GetResponseStream
Dim RD As New System.IO.StreamReader(ST)
strDoc = RD.ReadToEnd

最後の行でコードの実行が止まって
先に進まない問題を解決できずにいます。
実例をあげて恐縮ですが、例えば
strURL="http://www.frieve.com/fms/199704/remix/remix.html"
の時に、その様な状態が発生します。

例えば、StreamReader.ReadToEndメソッドの代わりに、
Dim bytes As Integer = Stream.Readメソッドを利用しても
Readメソッドの動作が止まってしまいます。
例外など発生させる等できれば良いのですが、

試しに、そのページをIE6(SP1)でオープンすると
ダウンロードが終了しない様です。

どなたか、うまい解決策を
伝授して頂けましたら
嬉しく思います。
_________________
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-05-14 15:26
同じプログラムで、他のサイトではOKなので、そのサイトが重いだけじゃないでしょうか。

RQ.Timeout = 1 とかやると、1秒後にSystem.Net.WebExceptionが発生します。
janon
会議室デビュー日: 2003/04/02
投稿数: 13
お住まい・勤務地: 東京都
投稿日時: 2003-05-14 15:46
返信ありがとうございます。

System.Net.WebExceptionの例外が
発生すれば処理を継続できるのですが、
Timeout = 5000 (5秒)に設定しても
同じ行で(何時間でも)停止しています。

こういった状況が発生するのは
ごく一部のページを扱う場合です。
そういったページは特徴として
IEで開こうとすると何時まで経っても
ダウンロードが終了しない様です。

うまく例外を発生させる様な
仕組があればよいのですが、、、



1

スキルアップ/キャリアアップ(JOB@IT)