c#中的流长度有限制吗
本文关键字:有限制 | 更新日期: 2023-09-27 18:24:40
我需要以这种方式读取流:
using(HttpWebResponse response = (HttpWebResponse)request.getResponse())
{
using(Stream answer = response.getResponseStream())
{
// waiting for a while to read next
}
}
然而,我不知道流的长度。根据Fiddler的说法,流长度大于15000000字节。
有长度限制吗?
是的,它是9223372036854775807字节(8388608地形字节)
流长度没有(合理的)限制。
您正在查找HTTP响应的ContentLength
属性。
Stream.Length
是long
,所以它的(正)极限是2^63
。对你来说应该没问题。
我必须将一个2.9 GB的加密文件读入内存并解密。在读入内存的过程中(使用Bouncy Castle),我会在64位模式下运行流长度限制异常。如果我将文件从加密的数据文件解密到另一个文件,然后使用FileReader将其读取到内存中,我不会得到错误,最终整个文件都在内存中。我真的需要直接解密到内存中,因为客户不希望PII数据在任何时候都未加密地驻留在磁盘上。那么,是什么原因导致流长度异常呢?