ASP.Net应用程序是否有内存限制?

前端之家收集整理的这篇文章主要介绍了ASP.Net应用程序是否有内存限制?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.Net MVC应用程序,允许用户上传图像.当我尝试上传一个非常大的文件(400MB)时,我收到一个错误.

我认为我的图像处理代码(家庭酿造)非常低效,所以我决定尝试使用第三方库来处理图像处理部分.

因为我正在使用TDD,所以我想先写一个失败的测试.但是当我使用相同的大文件测试控制器动作时,它能够毫无困难地完成所有图像处理.

我得到的错误是“内存不足”.

我确定我的代码可能使用了比它需要的更多的内存,但我只是想知道为什么我的测试通过了.

另一个区别是我使用的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 memorylimit属性.

猜你在找的asp.Net相关文章