永发信息网

SQL连接问题(或IIS问题)

答案:3  悬赏:20  手机版
解决时间 2021-05-04 20:39
  • 提问者网友:愿为果
  • 2021-05-04 08:09

我做了一个网站,每次在IIS中浏览后SQL中的本地连接不会关闭

简单的说就是:

第一在IIS中浏览有21个连接,当【关闭网页】后这21个连接不会断开;当第二次在IIS中浏览的时候连接就变成了41个连接,依次类推。

如图

图二:

注:

网页中的SQL连接都有开(open)有关(close),在IIS中浏览次数都多了就会提示连接池超过限度

请问这是怎么回事??(WEB.CONFIG)我改了超时时限与最低连接数。这就不需要大家说了(总觉得这不治标不治本)。我想知道的就是为什么使用的本地连接只增不减??有什么法子可以让他随网页关闭而断开啊?

每个SQL连接都是使用的windows 集成验证。Web.config中添加的语句如下:

</configSections>
<appSettings>
<add key="ConStr" value="Data Source=(local);Initial Catalog=TheNew;Integrated Security=True"/>
</appSettings>
<connectionStrings>
<add name="BestConnectionString" connectionString="Max Pool Size = 512;Data Source=.;Initial Catalog=TheNew;Integrated Security=True;Max Pool Size = 512;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<httpRuntime maxRequestLength="3072" executionTimeout="1000"/>
<customErrors defaultRedirect="snear/Default.aspx" mode="RemoteOnly"/>

<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->

最佳答案
  • 五星知识达人网友:动情书生
  • 2021-05-04 09:41
有close方法,不代表close方法会被执行。
试试在close中加log的方式,看看close到底有没有被执行。
全部回答
  • 1楼网友:轮獄道
  • 2021-05-04 11:13
在连接字符串最后面加 ;MAX POOL=1024 (最大连接池)
  • 2楼网友:神也偏爱
  • 2021-05-04 09:53
在关闭之后还需要释放资源,方法是dispose()
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯