在BizTalk artefacts中使用Debug.WriteLine的性能有何影响?

时间:2014-03-21 08:55:34

标签: debugging biztalk trace

在BizTalk artefacts中使用System.Diagnostics.Debug.WriteLine会有什么性能影响?管道表达式形状,管道自定义组件?

当有DbgView捕获消息时,以及什么都没有捕获时

或者是否有更好的方法来处理代码中的调试/跟踪?

3 个答案:

答案 0 :(得分:4)

为获得最佳性能,您应使用Microsoft BizTalk CAT Instrumentation框架进行跟踪和记录。您可以在http://blogs.msdn.com/b/appfabriccat/archive/2010/05/11/best-practices-for-instrumenting-high-performance-biztalk-solutions.aspx

上找到更多详细信息

答案 1 :(得分:3)

如果在发布模式下编译,则没有任何效果,因为编译器删除了所有System.Diagnostics.WriteLine代码 - 没有执行成本,没有诊断优势(在生产中)ref System.Diagnostics.Debug.WriteLine in production code

如果你使用TraceSource,这是一个不同的故事,特别是如果你留在默认的跟踪监听器,这是相当昂贵的。对于生产跟踪,您需要一些可以打开和关闭的东西,通常是通过配置文件,这样您只需在生产过程中运行的诊断检查期间支付执行成本。

答案 2 :(得分:0)

System.Diagnostics.Debug的影响在BizTalk与任何其他.NET应用程序中没有区别,因此适用所有相同的规则和注意事项。

出于真正的调试目的,这不是我要担心的事情,这是你必须支付的税。请记住,所有调试调用都将在发布模式中删除。