Outofmemory в потоке памяти исключений
Дело Все
Я получил исключение error OutOfMemory при записи данных байтового массива через MemoryStream.
Мой ПК-64bit
ОПЕРАТИВНАЯ ПАМЯТЬ - 4 ГБ
DataSize-750MB - 786432000
мой код :-
using (MemoryStream MemStream = new MemoryStream()) { using (CryptoStream CryptoStream = new CryptoStream(MemStream, Encryptor, CryptoStreamMode.Write)) { CryptoStream.Write(PlainTextBytes, 0, PlainTextBytes.Length); //System.Buffer.BlockCopy(PlainTextBytes, 0, MemStream.ToArray(), 0, PlainTextBytes.Length); CryptoStream.FlushFinalBlock(); CipherTextBytes = MemStream.ToArray(); MemStream.Close(); CryptoStream.Close(); } }
Ошибка приближается :-
CryptoStream.Write(PlainTextBytes, 0, PlainTextBytes.Length);
OutOfMemoryException.
Любое решение, Пожалуйста, помогите.
Спасибо.
Что я уже пробовал:
Поток cryptostream.Запись (PlainTextBytes, 0, PlainTextBytes.Длина);
InbarBarkai
Как долго длится ваш текст?
Member 12352638
750 МБ
Mehdi Gholam
Убедитесь, что ваш процесс 64-битный, а не 32-битный.
Member 12352638
Процесс 64 битный
Philippe Mori
Если ваши данные большие, то вы должны обрабатывать их блоками. Вам следует избегать работы с данными размером более нескольких сотен мегабайт, если возможны альтернативные алгоритмы.