MemoryStream "не хватает памяти" C # - PullRequest
3 голосов
/ 28 октября 2010

У меня есть реализация пользовательского DataObject (Virtual File) см. Здесь .У меня есть функция перетаскивания в контрольном представлении (перетаскивание файла вне контрольного представления без временного локального файла).Это прекрасно работает с файлами меньшего размера, но как только размер файла превышает 12-15 мегабайт, он говорит о недостаточной доступной памяти.Кажется, поток памяти не хватает памяти.что я могу с этим сделать?Могу ли я как-то разбить больший байт [] на несколько memoryStreams и собрать их в один файл?Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 28 октября 2010

Могу ли я как-нибудь разбить больший байт [] на несколько momoryStreams и собрать их в один файл?

Да.

Когда мне приходилось иметь дело св аналогичной ситуации я построил свой собственный поток, который внутренне использовал байтовые массивы 4 МБ.Этот «пейджинг» означает, что он никогда не должен выделять ОДИН БОЛЬШОЙ Массив байтов, что и делает поток памяти.Итак, сделайте дамп памяти потока, создайте свой собственный поток на основе другого внутреннего механизма хранения.

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