Преобразование файла zip в поток памяти вызывает исключение Out of Memory - PullRequest
0 голосов
/ 27 марта 2019

Я создаю функцию Azure, которая распаковывает zip-файл, полный CSV-файлов, анализирует содержимое и сохраняет данные в базе данных.Я застрял на самом первом шаге: разархивировать zip-файл.

После прочтения множества других потоков (включая Метод загрузки Azure tostreamasync зависает ) вот что у меня есть:

 public async static Task<MemoryStream> GetMemoryStreamAsync(CloudFile inBoundfile)
 {
    MemoryStream memstream = new MemoryStream();
    await inBoundfile.DownloadToStreamAsync(memstream).ConfigureAwait(false);
    return memstream;
 }

Размер zip-файла, с которым я тестирую, составляет 515 069 КБ.Когда этот метод вызывается, он, кажется, просто зависает, но в итоге выдает исключение Out of Memory.Я также попытался сделать это не асинхронно (который выдает ту же ошибку), и я попробовал это без .ConfigureAwait(false), и в этом случае он выдает ошибку с чем-то вроде directory corrupt (или что-то вроде '... я забыл, что именно).

О, я также нашел поток, в котором говорилось, что приложение Azure должно быть 64-битным, что я и сделал.

Должно быть решение, но я "Я не нахожу это!

...