Есть ли способ профилировать .NET Framework? - PullRequest
0 голосов
/ 01 декабря 2009

У нас есть сложное клиент-серверное приложение, которое разработано с использованием .NET Framework и использует SQL Server 2005. Мы используем LinqToSql, но мы управляем временем жизни всех соединений и передаем открытые соединения любому создаваемому DataContext. Мы также использовали Microsoft WF в этом продукте. WF создает собственные подключения для сохранения экземпляров рабочих процессов.

Когда сервер работает в течение дня или двух, мы получаем «ReclaimedConnections», что означает, что мы не закрыли некоторые из соединений SQL, которые мы использовали. Мы рассмотрели весь код и использовали возможные средства, чтобы убедиться, что мы закрываем все и все соединения, которые мы создаем. Кажется почти невозможным, чтобы соединение оставалось открытым, потому что там очень мало мест, где мы их используем.

Есть ли способ узнать, когда был сделан вызов на SqlConnection.Open() или SqlConnection.Close(). Нам нужно знать, когда эти методы вызываются и кто был вызывающим (возможно, для этого получим стек вызовов).

Спасибо

Ответы [ 3 ]

3 голосов
/ 01 декабря 2009

Вы можете попробовать красные ворота ANTS Performance Profiler

http://www.red -gate.com / продукция / ants_performance_profiler / index.htm

0 голосов
/ 01 декабря 2009

Вы можете использовать dotTrace или Performance Profiler , включенный в Visual Studio.

0 голосов
/ 01 декабря 2009

попробуйте dotTrace: http://www.jetbrains.com/profiler/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...