2012-08-08 107 views
0

我正在运行使用TopShelf的.net应用程序,其中一部分是处理数据并将其保存到Sql Server数据库中。分析使用TopShelf的应用程序

我发现这个过程非常缓慢,所以我想查看应用程序分析,以查看是否存在方法调用等方面的主要瓶颈,但是,由于TopShelf正在运行应用程序,因此任何分析工具我只使用主程序中的Run方法,并且不显示其余方法的任何结果。

有没有办法允许性能分析工具继续分析TopShelf运行应用程序的点?

回答

1

使用Topshelf,您可以将您的服务作为控制台应用程序运行,以进行调试和分析。要做到这一点,请确保您的服务没有安装,只需从控制台运行它(或将其设置为配置文件中的程序)。然后,一旦您的服务运行了足够的时间以获得良好的配置文件跟踪,请使用Control + C在控制台中停止它,并且它将优雅地退出,从而允许配置文件获取良好的跟踪。

我一直在用我的系统上的dotTRACE执行此操作。

+0

我现在正在使用Topshelf和应用程序在控制台中正确运行,现在我想尝试追踪我认为是内存泄漏的内容。我试图开始分析和控制台应用程序启动并立即被杀死。有什么想法吗? – 2013-11-21 18:02:04

+0

我的确找到这篇文章http://blogs.msdn.com/b/dotnet/archive/2013/04/04/net-memory-allocation-profiling-with-visual-studio-2012.aspx但它没有具体解决我的错误。 : - / – 2013-11-21 18:13:37