内存溢出常见的情况和处理方式:
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请求完成,不论成功与否
})