Есть ли ограничение на длину потока в c #? - PullRequest
3 голосов
/ 14 февраля 2012

Мне нужно прочитать поток следующим образом:

using(HttpWebResponse response = (HttpWebResponse)request.getResponse())
{
  using(Stream answer = response.getResponseStream())
  {
    // waiting for a while to read next
  }
}

Однако я не знаю длины потока. По словам Фиддлера, длина потока превышает 15 000 000 байт.

Есть ли ограничение по длине?

Ответы [ 4 ]

5 голосов
/ 14 февраля 2012

Да, это 9 223 372 036 854 775 807 байт (8 388 608 террабайт)

3 голосов
/ 14 февраля 2012

Нет ограничений на длину потока.

Вы ищете свойство ContentLength ответа HTTP.

1 голос
/ 14 февраля 2012

Stream.Length - это long, поэтому его (положительный) предел составляет 2^63. Это должно быть хорошо для вас.

0 голосов
/ 11 сентября 2018

Я должен прочитать в память зашифрованный файл размером 2,9 Гбайт и расшифровать его.Во время чтения в память (используя Bouncy Castle) я получаю исключение ограничения длины потока, работающее в 64-битном режиме.Если я расшифрую файл из зашифрованного файла данных в другой файл, а затем прочту его в память с помощью FileReader, я не получу сообщение об ошибке и в результате получу весь файл в памяти.Мне действительно нужно расшифровать непосредственно в память, так как клиент не хочет, чтобы данные PII постоянно находились на диске в незашифрованном виде.Что может вызвать это исключение длины потока?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...