asp.net - ASP.Net 应用程序有内存限制吗?

标签 asp.net large-files out-of-memory swfupload

我有一个 ASP.Net MVC 应用程序,允许用户上传图像。当我尝试上传一个非常大的文件 (400MB) 时,出现错误。

我认为我的图像处理代码(自制)效率非常低,因此我决定尝试使用第三方库来处理图像处理部分。

因为我正在使用 TDD,所以我想首先编写一个失败的测试。但是,当我使用相同的大文件测试 Controller 操作时,它能够毫无问题地完成所有图像处理。

我收到的错误是“内存不足”。

我确信我的代码使用的内存可能比它需要的多得多,但我只想知道为什么我的测试通过。

另一个区别是我使用的是 SWFUpload,它没有在测试中使用。这可能是原因吗?

最佳答案

可以在 web.config 或 machine.config 或两者中配置内存限制。

在 web.config 中,该部分是:

<httpRuntime 
executionTimeout="3600" 
maxRequestLength="102400"
/>

在 machine.config 中,该部分也可以是 httpRunTime 部分,类似于:

<httpRuntime 
executionTimeout="90" 
maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" 
minFreeThreads="8" 
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
/>

还可以使用 processModel 部分将 aspnet 进程限制为总内存的百分比,请参阅:

http://msdn.microsoft.com/en-us/library/7w2sway1.aspx

我遇到了与您所描述的由这些设置引起的类似问题。
特别是 ProcessModel 内存限制属性。

关于asp.net - ASP.Net 应用程序有内存限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525894/

相关文章:

asp.net - 将 gridview 与动态列绑定(bind)的简单方法是什么?

asp.net - AJAX Asp.net AutoCompleteExtender 将字符串 0010 解释为八进制

c# - admin 用户在 asp.net 成员资格中将在一段时间后失效

python - NumPy 读取文件并即时过滤行

c++ - VC++ 2012 无法读取大于 4 GB 的文件

java - 很奇怪的OutOfMemoryError

Android内存不足可绘制

c# - 如何从 asp.net 中的复选框列表控件返回选定的项目

java - 使用 BufferedReader 从不断增长的大型文件中读取

java - JSONObject toString() 导致 1495472 字节分配内存不足