当前位置:  开发笔记 > 后端 > 正文

ASP.NET和System.Diagnostics跟踪 - 我错过了什么,或者这是一个坏主意?

如何解决《ASP.NET和System.Diagnostics跟踪-我错过了什么,或者这是一个坏主意?》经验,为你挑选了0个好方法。

出于各种常见原因,我想对我的ASP.NET应用程序使用跟踪.特别是因为我发现了使用Service Trace Viewer工具的可能性,它允许您以强大的方式检查跟踪.

因为我之前从未使用过这种痕迹,所以我开始研究它.经过一段时间的谷歌,SO和MSDN,我终于明白了事情是如何运作的.但我也发现了一个非常不受欢迎的事情.

在ASP.NET应用程序中使用跟踪时,通过Web请求将跟踪消息组合在一起非常有意义.特别是因为我想使用它的原因之一是研究性能问题.上面提到的工具也通过在生成的XML文件中使用标记来支持这一点.而这反过来又来自System.Diagnostics.Trace.CorrelationManager.它还允许其他很好的功能,如Activity启动/停止,它提供了更好的跟踪消息分组.很酷,对吗?

我也是如此,直到我开始检查CorrelationManager实际居住的地方.毕竟 - 它是一个静态属性.在玩了一些反射器后,我发现了一些可怕的东西 - 它存储在CallContext!我们不应该在ASP.NET中使用哪种东西,对吧?

所以......我在这里错过了一些东西吗?在ASP.NET中跟踪真的存在根本缺陷吗?

补充:嗯,我有点在自己重写这些东西的边缘.我仍然想使用整洁的工具来探索痕迹.我不应该这样做的原因?也许有更好的东西呢?如果我很快得到答案,那将是非常好的.:)

补充2:我的一位同事证实,这不仅仅是一个理论问题.他在他正在研究的系统中观察到了这一点.所以它已经解决了.我打算建立一个新的小系统,按照我想要的方式做事.:)

补充3:哇,很酷......微软的人们在ASP.NET中使用Correlation Manager时没有发现任何问题.显然我们毕竟没有得到这个bug的修复......

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有