- PR -

System.IO.StreamReader.ReadToEnd()の仕様について

1
投稿者投稿内容
seki
常連さん
会議室デビュー日: 2005/03/23
投稿数: 29
投稿日時: 2005-12-13 11:09
お疲れ様です。sekiと申します。

.net開発環境でrequestのStreamを取得(BODY部)しようと考えております。
で、ReadToEnd()メソッドがStreamの終端を何で判別しているかご存知の方は
おられないでしょうか?(MSDNには記載ありませんでした。)
requestのhttpヘッダーのContent-Lengthの長さで判別しているのでしょうか?

お忙しいところ、ご教示の程宜しくお願い致します。

_________________
seki
常連さん
会議室デビュー日: 2005/03/23
投稿数: 29
投稿日時: 2005-12-13 13:04
お疲れ様です。sekiと申します。

掲載の件に関しまして、WebResponse.GetResponseStreamメソッドで
データ ストリームを取得し、ReadToEnd メソッドを呼んでいます。

MSDNには、ReadToEnd メソッドの仕様として、
「文字列として、ストリームの全体または現在位置から末尾までを読み取ります。」
と記載あります。

通常のファイルを読み込む場合などの場合は、全体的なデータストリームとして
ReadToEnd メソッドでデータの最初からbyteで数えていき、最後のbyteまで全て
取得出来るよう記載されています。
httpのレスポンスをWebResponse.GetResponseStreamメソッドを使用して取得した
ストリーム(BODY部)をReadToEnd メソッドで読み込もうとすると、ReadToEndの内部で
httpヘッダーのContent-Lengthの長さでストリームの末尾を判断しているという事は
無いでしょうか?
(WebResponse.ContentLength プロパティというのがありましたので、値として
httpヘッダーのContent-Lengthの持っていると思います)

実際動かして検証したのですが、あいにく実行環境が無く、どなたか分かる方が
おられましたら、宜しくお願い致します。




_________________
1

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