有关asp.net中最大池大小的问题

Par*_*ras 1 c# asp.net connection-pooling

我一直在项目中的一个小文件管理器模块上工作,其中一个文件夹列表显示在树视图中.我已经在javascript中做了所有的事情.每次我点击一个节点时,数据列表都会被提取到一个datareader并填充在前端.但是当我在IIS中部署应用程序时,在大约18次后续点击后,IIS将暂停,我必须重新重置它.当我检查事件查看器时,我收到以下错误

异常类型:InvalidOperationException异常消息:超时已过期.从池中获取连接之前经过的超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小.

因此,在web.config中的连接字符串中,我将池设置为True,最大池大小为200,问题解决了.

但我想知道以这种方式使用连接池大小是一个好习惯.或者我们如何阻止打开这么多连接.谢谢!

Ant*_*lev 6

我认为发生的事情是你没有释放未使用的资源.更具体地讲,你绝对必须调用Dispose()所有的数据库相关的对象,如SqlConnection,SqlDataReader等.或者,更好的是,包起来using的语句.