下载文件时内存不足异常(DevExpress 文件管理器)
Out of memory exception when dowloading file (DevExpress Filemanager)
我正在使用 DevExpress,在服务器端我有以下内容:
var fileStreamResult = FileManagerExtension.DownloadFiles(settings, provider, FileManagerFileDownloadingEventHandler);
提供者是 AzureProvider。设置为:
settings.SettingsEditing.AllowDownload = true;
settings.Settings.AllowedFileExtensions = new[] {".avi", ".mov"};
现在,如果我下载一个大约 30 MB 的文件,它工作正常,但是当我尝试使用一个 200 MB 的文件时,然后 .DownloadFiles
returns null。
此外,当我查看第一次机会异常时,我看到:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.at System.IO.MemoryStream.set_Capacity(Int32 value)
我不知道问题出在哪里,但我还在我的配置文件中设置了以下内容:
<requestFiltering>
<requestLimits maxAllowedContentLength="30000000" />
</requestFiltering>
我尝试在上面的值中添加额外的零,但仍然没有成功。
有人有什么想法吗?谢谢。
编辑:请注意,上传 200MB 就可以了。下载过程中出现问题
感谢 DevExpress 的支持,他们强调这是因为 IIS Express 运行内存不足,因为它可能 运行 作为 32 位进程。因此,将 Visual Studio 更改为使用 64 位就可以了。希望这对以后的人有帮助:
How to change Visual Studio option to use the 64-bit version of IIS Express
我正在使用 DevExpress,在服务器端我有以下内容:
var fileStreamResult = FileManagerExtension.DownloadFiles(settings, provider, FileManagerFileDownloadingEventHandler);
提供者是 AzureProvider。设置为:
settings.SettingsEditing.AllowDownload = true;
settings.Settings.AllowedFileExtensions = new[] {".avi", ".mov"};
现在,如果我下载一个大约 30 MB 的文件,它工作正常,但是当我尝试使用一个 200 MB 的文件时,然后 .DownloadFiles
returns null。
此外,当我查看第一次机会异常时,我看到:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.at System.IO.MemoryStream.set_Capacity(Int32 value)
我不知道问题出在哪里,但我还在我的配置文件中设置了以下内容:
<requestFiltering>
<requestLimits maxAllowedContentLength="30000000" />
</requestFiltering>
我尝试在上面的值中添加额外的零,但仍然没有成功。
有人有什么想法吗?谢谢。
编辑:请注意,上传 200MB 就可以了。下载过程中出现问题
感谢 DevExpress 的支持,他们强调这是因为 IIS Express 运行内存不足,因为它可能 运行 作为 32 位进程。因此,将 Visual Studio 更改为使用 64 位就可以了。希望这对以后的人有帮助:
How to change Visual Studio option to use the 64-bit version of IIS Express