我是DBA,不是开发人员,可以使用一些洞察力。开发人员使用VB.NET创建与DB2数据库连接的基于Web的应用程序。请假设web.config文件中的连接字符串已正确编码。
我可以看到来自Web服务器的孤立连接数随着时间的推移而增长。孤立我的意思是说几小时没有与连接相关的活动,但我可以看到每隔几秒就会创建和销毁其他连接。
我怀疑连接没有正确关闭,但有两个不同的小组正在查看问题,到目前为止还没有发现任何问题。到那天结束时,我可以拥有数百个这样的连接 - 当每晚重置应用程序池时,所有这些连接都会被清除。 (这意味着它不是数据库问题)
是否有一种编码技术可确保在IIS v7 +上使用vb.net关闭连接? 我在IIS上看到了另一个问题的症状吗?
答案 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
中的代码中存在异常,也可以保证连接已关闭并正确处理内存。块。
听起来像代码审查是为了负责开发人员。