Исключение из-за недостатка памяти при загрузке файла (DevExpress Filemanager) - PullRequest
0 голосов
/ 19 февраля 2019

Я использую DevExpress и на стороне сервера у меня есть следующее:

var fileStreamResult = FileManagerExtension.DownloadFiles(settings, provider, FileManagerFileDownloadingEventHandler);

Где провайдер - AzureProvider.Настройки:

settings.SettingsEditing.AllowDownload = true;
settings.Settings.AllowedFileExtensions = new[] {".avi", ".mov"};

Теперь, если я загружаю файл размером ~ 30 МБ, он работает нормально, но когда я пробую его с файлом размером 200 МБ, .DownloadFiles возвращает ноль.

Также, когда я смотрю на исключения первого шанса, я вижу:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.at System.IO.MemoryStream.set_Capacity(Int32 value)

Я не знаю, в чем проблема, но я также установил следующее в своем конфигурационном файле:

  <requestFiltering>
    <requestLimits maxAllowedContentLength="30000000" />
  </requestFiltering>

Я играл с вышеуказанным значением, добавляя дополнительные нули, но все равно не повезло.

У кого-нибудь есть идеи?спасибо.

Редактировать: обратите внимание, что загрузка 200 МБ в порядке.Проблема возникает при загрузке

1 Ответ

0 голосов
/ 20 февраля 2019

Благодаря поддержке DevExpress, они подчеркнули, что это связано с тем, что в IIS Express не хватает памяти, поскольку он, возможно, выполняется как 32-разрядный процесс.Таким образом, изменение Visual Studio для использования 64-битной системы сработало.Надеюсь, это поможет кому-то в будущем:

Как изменить параметр Visual Studio для использования 64-разрядной версии IIS Express

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