2012-02-29 68 views
1

我有一个大型的网页asp.net应用程序,主要是由其他人编写的。似乎有连接池泄漏。请你能告诉我诊断泄漏的方法吗?最简单/最可靠/最快捷的方式来做到这一点?诊断连接池泄漏sourse

谢谢

+0

您是否在每个页面中创建了数据访问类或连接? – PraveenVenu 2012-02-29 07:19:52

+0

它有某种自写的dal。我想查找连接丢失的所有来源(文件和行),它在哪里打开但未关闭或处置。任何工具或想法如何做到这一点? – idm 2012-02-29 08:46:22

+0

您现在如何在自己编写的DAL中实际处理连接生命周期?何时何地实例化它们?没有细节,很难说。如果您在50个不同的地方实例化它们,然后将它们(或不在)放置在不同的地方,那么您将不得不手动完成它。 – Groo 2012-02-29 08:57:35

回答

1

如果你有一个连接(辅助类)的公共点,那么你就可以创建内部使用块连接。

例:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
//you code here 
} 
0

假设你正在使用SQL Server ...

您是否尝试过在SQL Server Management Studion使用Activiy监控?在过去,我用它来解决同样的问题。在服务器上

  1. 打开活动监视器
  2. 开放进程
  3. 浏览列表
  4. 如果连接不正确处置,你会看到很多的项目为您的应用程序。
  5. 右键单击其中一个并选择详细信息。请注意窗口中的命令SQL。重复几个。
  6. 如果您看到相同的命令重复,很可能是您的泄漏。

原油但有效;可能有更好的方法,但这对我有效。祝你好运!