0

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

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

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

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

4

1 回答 1

0

您需要让开发人员实现该Dispose模式,这由UsingVB.NET 中的语句促进,如下所示(这与 SQL Server 相关,但是您用于 DB2 的任何连接对象都应该可以工作):

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

End Using

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

听起来代码审查是为负责开发人员的人准备的。

于 2013-07-02T16:58:33.523 回答