与VB.NET和孤立连接的连接池

时间:2013-07-02 16:11:42

标签: vb.net connection db2 pooling

我是DBA,不是开发人员,可以使用一些洞察力。开发人员使用VB.NET创建与DB2数据库连接的基于Web的应用程序。请假设web.config文件中的连接字符串已正确编码。

我可以看到来自Web服务器的孤立连接数随着时间的推移而增长。孤立我的意思是说几小时没有与连接相关的活动,但我可以看到每隔几秒就会创建和销毁其他连接。

我怀疑连接没有正确关闭,但有两个不同的小组正在查看问题,到目前为止还没有发现任何问题。到那天结束时,我可以拥有数百个这样的连接 - 当每晚重置应用程序池时,所有这些连接都会被清除。 (这意味着它不是数据库问题)

是否有一种编码技术可确保在IIS v7 +上使用vb.net关闭连接? 我在IIS上看到了另一个问题的症状吗?

1 个答案:

答案 0 :(得分:0)

你需要让开发人员实现Dispose模式,这可以通过VB.NET中的Using语句来实现,就像这样(这与SQL Server相关,但无论你是什么连接对象) using for DB2也应该可以工作):

Using theConnection As New SqlConnection()
    '' Command, parameter logic goes here

End Using

通过将连接对象包装在Using块内,即使Using中的代码中存在异常,也可以保证连接已关闭并正确处理内存。块。

听起来像代码审查是为了负责开发人员。