Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim iCount As Integer = 1
Try
Do
Dim sqlConn As New _
SqlConnection("Data Source=localhost;trusted_Connection=yes;initial catalog = MyDatabase;max pool size =100;")
sqlConn.Open()
Trace.WriteLine("opening connection " & CStr(iCount))
'sqlConn.Close()
'Trace.WriteLine("closing connection " & CStr(iCount))
'sqlConn.Dispose()
'Trace.WriteLine("disposing connection " & CStr(iCount))
iCount = iCount + 1
Loop Until iCount > 20000
Catch ex As Exception
Trace.WriteLine(ex.ToString)
End Try
End Sub
End Module
如果我执行这段代码,这个测试应用程序在抛出“超时时间到达,未能从池中获得连接”的异常之前会打开115个与数据库的连接。但是应用程序池中只有100个连接。这是怎么可能的?