.Net内存溢出 System.OutOfMemoryException

时间:2021-07-09 23:39:37

内存溢出常见的情况和处理方式:

http://outofmemory.cn/c/dotNet-outOfMemoryException

MSDN中关于processModel的文档

https://msdn.microsoft.com/zh-cn/library/7w2sway1(VS.85).aspx

根据上文中的内存溢出处理,使用控制程序的内存分配,即在config文件中添加以下内容

这个需要放到machine.config中才行

 <system.web>
<!--设置可使用的最大内存大小,默认60-->
<processModel memoryLimit=""/>
<system.web>

至于效果,还没试全,不过主要是内存不足,且回收没有很好的进行。

2016-07-15补充

项目因为采用的是内存结构,所有的东西都放入内存进行。

以至于方法请求的时候,都会产生一部分内存,而由于不断地请求,导致那部分内存未来得及释放,就被新的请求停住了。

现在项目解决方案是,直接在controller中进行所有的操作,即原先方法类中的方法直接放到controller中,而不再通过service进行调取了。

在查找这个问题的时候,百度到的一个关于AJAX请求的内存释放:

$.ajax({

  ...

success:function(){},

error:function(){},

complete:function(XHR,TS){XHR=null}//因为请求会产生XMLHTTPREQUEST(好像是这个。。。),所以这一步对他进行释放。complete表示ajax请求完成,不论成功与否

})