We have a complex client-server application that is developed using .NET Framework and uses SQL Server 2005. We use LinqToSql but we manage the life time of all the connections and we pass open connections to any DataContext that gets created. We've also used Microsoft WF in this product. WF makes its own connections to persist workflow instances.
When the server runs for about a day or two, we endup 开发者_如何学Pythonwith some "ReclaimedConnections" meaning that we haven't closed some of the SQL connections we've been using. We have reviewed all the code and used possible mean to make sure that we are closing any and all the connections we are creating. It seems almost impossible for a connection to remain open since there are very few places where we use them.
Is there any way to find out when a call has been made to SqlConnection.Open()
or SqlConnection.Close()
. We need to know when these methods are called and who was the caller(maybe get a call stack for that).
Thanks
you can try red gate ANTS Performance Profiler
http://www.red-gate.com/products/ants_performance_profiler/index.htm
You can use dotTrace or Performance Profiler included in Visual Studio.
try dotTrace: http://www.jetbrains.com/profiler/index.html
精彩评论