例如,我有一些正在运行的.net应用程序需要监控,然后在App1中调用MethodA,我的监控应用程序应该会检测到这一点。我有很多正在运行的应用程序,这里提出的解决方案是重新编译所有这些应用程序,并在我们想要监控的所需方法中包含一行新行。只有在绝对没有办法的情况下,我才想这样做。那么有没有人做过这样的事情?基本上,我需要创建一个新的应用程序,当我单击它的按钮时,它会告诉我: MethodA是在App1中实时调用的……
谢谢!
发布于 2008-09-22 11:24:53
有几种方法可以做到这一点。一种是使用log4Net,通过调用log4net的write方法来“散布”你的方法。您可以选择各种日志附加器(目的地),例如电子邮件或数据库,但一个不太为人所知的技巧是下载独立程序DebugView (SysInternals ->现在是微软),该程序侦听默认消息。
发布于 2008-09-22 12:13:47
PostSharp交付方式,如何编辑编译后的.net代码。编辑是用编译(属性)或配置代码的C#代码编写的。它们可能有一种机制,可以记录(或填充或任何其他)方法/事件调用等。
我想,这是你需要的工具。
发布于 2008-09-22 11:22:19
System.Diagnostics.PerformanceCounter是一个很好的起点。您可以创建可在性能控制面板小程序中查看的新计数器。它们在开始时有点混乱,但当您意识到平均计数器需要两个组件来计算百分比时,就会变得容易得多。
https://stackoverflow.com/questions/114305
复制相似问题