我需要以这种方式阅读流:
using(HttpWebResponse response = (HttpWebResponse)request.getResponse())
{
using(Stream answer = response.getResponseStream())
{
// waiting for a while to read next
}
}
但是,我不知道流长度。根据Fiddler,流长度大于15,000,000字节。
是否有长度限制?
答案 0 :(得分:5)
是的,它是9,223,372,036,854,775,807字节(8,388,608 terrabytes)
答案 1 :(得分:3)
流长度没有(合理的)限制。
您正在寻找HTTP响应的ContentLength
属性。
答案 2 :(得分:1)
Stream.Length
是long
,因此其(正)限制为2^63
。对你来说应该没事。
答案 3 :(得分:0)
我必须将一个2.9 GB的加密文件读入内存并解密。在读入内存的过程中(使用Bouncy Castle),我得到了以64位模式运行的流长度限制异常。如果我将文件从加密的数据文件解密为另一个文件,然后使用FileReader将其读入内存,则不会收到错误,并且最终会将整个文件存储在内存中。我真的需要直接解密到内存中,因为客户不希望PII数据随时存储在磁盘上,并且未经加密。那么,什么会导致此“流长度异常”?