在BizTalk artefacts中使用System.Diagnostics.Debug.WriteLine
会有什么性能影响?管道表达式形状,管道自定义组件?
当有DbgView
捕获消息时,以及什么都没有捕获时
或者是否有更好的方法来处理代码中的调试/跟踪?
答案 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应用程序中没有区别,因此适用所有相同的规则和注意事项。
出于真正的调试目的,这不是我要担心的事情,这是你必须支付的税。请记住,所有调试调用都将在发布模式中删除。