Vb.net 如何关闭使用WebMatrix.Data.Database.Open创建的连接?

Vb.net 如何关闭使用WebMatrix.Data.Database.Open创建的连接?,vb.net,database-connection,connection-pooling,webmatrix,Vb.net,Database Connection,Connection Pooling,Webmatrix,我正在windows服务中使用webmatrix中的数据库类。(在winform中调试会导致相同的错误) 我收到的错误(运行一段时间后)是: 超时已过期。获取数据之前经过的超时时间 来自池的连接。发生这种情况的原因可能是所有池中的 连接正在使用,已达到最大池大小 这应该通过使用语句来解决,以确保所有连接都已关闭。()但我最近也开始使用WebMatrix数据库类,它似乎没有关闭我用它打开的连接 问题是:如何关闭使用WebMatrix中的数据库类创建的连接? 使用此代码: Public Shared

我正在windows服务中使用webmatrix中的数据库类。(在winform中调试会导致相同的错误)

我收到的错误(运行一段时间后)是:

超时已过期。获取数据之前经过的超时时间 来自池的连接。发生这种情况的原因可能是所有池中的 连接正在使用,已达到最大池大小

这应该通过使用语句来解决,以确保所有连接都已关闭。()但我最近也开始使用WebMatrix数据库类,它似乎没有关闭我用它打开的连接

问题是:如何关闭使用WebMatrix中的数据库类创建的连接?

使用此代码:

Public Shared Function GetProperty(pid As Integer, propertyName As String) As String
    Dim db = Database.Open("SSEConnectionString")
    Dim item = db.QuerySingle("select PropertyValue from eConfiguration where PID=@0 and PropertyName=@1", pid, propertyName)
    Dim retVal = item.PropertyValue
    db.Connection.Close()
    db.Close()
    Return retVal
End Function
每次运行这段代码时,我都会在我的sys.sysprocesss表中得到一个新条目(根据我的计算,这表示创建并维护了一个新连接)

我的连接字符串如下所示:

谢谢你的帮助

Edit2:arghhhh。。。。我刚刚发现是什么导致了这个错误——这只和我自己有关。我忘了关闭一个连接-(

拉西使用:

db.Connection.Close()
db.Close()

这可能与webmatrix无关-更改为标准ado并查看相同的beavior,当我找出错误原因时,将更新问题-除了我之外,没有人对此负责-只是忘记了在我的spagetti中关闭db.close
db.Connection.Close()
db.Close()