搞定了IIS应用程序池满的问题
在使用DotNetNuke进行开发的时候,发现总是会出现IIS死掉的问题,具体的表现是在不停的打开页面之后,突然IE的界面没有任何反映,等一段时间之后,提示“超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。”这样的错误,这个错误一直没有解决。 后来看资料,才发现原来是连接SQL Server的Connection受限制的问题,主要的原因是IDataReader的问题,IDataReader在打开页面后,需要程序去Close掉,否则的话,会占用一个连接,不会自动关闭。 修改的方法是: 1、所有的IDataReader,在使用完成之后,调用Close()方法进行关闭; 2、修改web.config文件,在连接字符串中增加Max Pool Size=512设置,将缺省的连接池(100)设置大一些,经过测试,修改web.config已经可以解决问题。 这个悬了多日的问题终于得到解决了。
没有评论:
发表评论