【问题标题】:Is there any way to profile .NET Framework?有什么方法可以分析 .NET Framework?
【发布时间】:2010-12-21 22:23:24
【问题描述】:

我们有一个复杂的客户端-服务器应用程序,它使用 .NET Framework 开发并使用 SQL Server 2005。我们使用 LinqToSql,但我们管理所有连接的生命周期,并将打开的连接传递给任何创建的 DataContext。我们还在此产品中使用了 Microsoft WF。 WF 建立自己的连接来持久化工作流实例。

当服务器运行大约一两天时,我们最终会得到一些“ReclaimedConnections”,这意味着我们还没有关闭一些我们一直在使用的 SQL 连接。我们已经审查了所有代码并使用了可能的方法来确保我们正在关闭我们正在创建的任何和所有连接。连接似乎几乎不可能保持打开状态,因为我们使用它们的地方很少。

有什么方法可以查明何时拨打了SqlConnection.Open()SqlConnection.Close()。我们需要知道这些方法何时被调用以及调用者是谁(可能会为此获得一个调用堆栈)。

谢谢

【问题讨论】:

    标签: c# .net sql linq-to-sql .net-3.5


    【解决方案1】:

    您可以使用 Visual Studio 中包含的 dotTracePerformance Profiler

    【讨论】:

    • 感谢您推荐 dotTrace。首先我尝试了 Ants Profiler,但它一直在崩溃,所以我无法用它做任何事情。 dotTrace 使我们的服务器应用程序非常慢,但它给了我需要的结果。谢谢
    【解决方案2】:

    你可以试试red gate ANTS Performance Profiler

    http://www.red-gate.com/products/ants_performance_profiler/index.htm

    【讨论】:

    • 我一直在试用这个来提高我的 asp.net-mvc 站点的性能,它非常可靠(除了直到今天它需要安装 IE,但这通常不是这么大的问题)
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-25
      • 2011-06-29
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      • 2011-02-13
      • 2011-01-07
      • 1970-01-01
      相关资源
      最近更新 更多