控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

C#程序出现内存溢出错误的解决办法

作者:佚名 出处:互联网 2010年07月29日 阅读:

C#程序出现内存溢出错误的解决办法
 
上周一个C#开发的站点出现了内存溢出错误:“引发类型为“System.OutOfMemoryException”的异常”

因为页面众多一时最初难以确定问题源,找了很久才发现了导致内存溢出的代码。把这次的方法总结一下。

症状:每个一段时间才会出现内存溢出的错误,服务器上会出现大量的页面请求被堵塞。回收iis程序池后,会短暂正常,但是过一段时间后又出现内存溢出,时间间隔长短不一,没有规律。

解决步骤:1,判断是某个页面被请求到时引发的内存溢出错误。

                    2,寻找有问题的页面

                   存在内存溢出错误代码的页面,当被请求时,应该不会被执行结束。

                   所以,通过OnPreInit方法,在所有页面被请求时,将该页面的地址,请求时间记录到数据库中。每次请求都会在数据库中增加一条记录。

                   在页面执行到OnUnload方法时,再将该页面的总执行时间更新到上面提到的请求记录中。(新增时,总执行时间默认为-1)

                  

通过上述方式,分析几次内存溢出发生时,没有被执行结束的页面。最终确定的问题页面所在,修改代码上传后,内存溢出问题解决。

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统