我认为使用LINQ时无法获得sql连接泄漏,但是NumberOfReclaimedConnections的perfmon跟踪显示的数量很大,而且在高负载情况下,我们有时会收到“Timeout过期”这样的异常。这可能是因为所有池式连接都在使用中,并且达到了最大池大小“。是否有可能使用LINQ获取sql连接泄漏?
我们不会在datacontexts上使用Dispose,因为我们使用了加载。几篇文章和blogpost告诉我这不应该是一个问题。
我们仍然有时会得到这些例外。但是,并不是每一个linq查询都会保持连接的开放,那么我们就会有更多的异常。
编辑
应用程序是一个WCF服务。
如果你看看Linq和大多数文章的文档,他们声称Dispose不是释放连接所必需的。他们声称DataCOntext仅在需要它的短时间内保持连接打开。
不错的加法。谢谢:) – 2009-04-23 06:33:37