我有一个网页,里面有GridView。我正在使用SQL数据源控件与GridView绑定。运行站点后,我正在使用 -
检查SQL Server的活动连接数SELECT db_name(dbid)为DatabaseName,count(dbid)为NoOfConnections, loginame作为LoginName FROM sys.sysprocesses WHERE dbid> 0 GROUP BY dbid,loginame
我发现即使退出我的网络应用程序后,连接仍然保持打开状态。 那么有没有办法关闭这些连接。这对我来说非常重要,因为随着用户数量的增加,no。活动连接也在增加导致sql server max pool问题。虽然我已经增加了sql server上的用户连接,但我需要解决方案在用户注销后立即关闭这些连接。
感谢您分享宝贵的时间。
答案 0 :(得分:2)
你完成后尝试调用数据源的.Dispose()吗?
就个人而言,在需要管理SQL Server连接数的情况下,我会远离SqlDataSource。相反,我会在后面的代码中执行所有操作,包含在“使用”块中。特别是在处理打开和关闭连接时(多个打开时很容易忘记关闭1个连接)。
'使用'提供了Dispose模式的快捷方式 - Using
答案 1 :(得分:2)
您的连接仍然“打开”,因为使用了连接池。关闭连接池,如果这是所需的行为,或限制一次可以打开的连接数。这些可以从连接字符串设置。