0

I am trying to better understand PresentationTraceSources. The docs for the Refresh() method say "Refreshes trace sources, by forcing the app.config file to be re-read." Where does it expect to find the app.config file? If I add an application configuration file to my project, it is placed in the project source folder, but when the app is deployed, there is no such folder. What does Refresh() do if it can't find app.config. If I configure PresentationTraceSources in code, an app.config file doesn't necessarily exist. But the PresentationTraceSources.Refresh() call is still required. What is really happening in this case?

4

1 回答 1

0

是的,您可以在没有配置文件的情况下使用 Systems.Diagnostics 侦听器。例如,在按钮后面的事件处理程序中,创建一个侦听器,然后将该侦听器注册到各种源。

预期的场景是使用配置文件,假设机器管理员(与用户分开)将收集跟踪,并且需要在不重新编译的情况下这样做,并且需要在不重新编译的情况下关闭跟踪。这将通过在应用程序配置文件中配置侦听器来完成,该文件名为 XamlPad.exe.config

看起来您需要设置一个注册表项,并且您需要完全信任。

http://msdn.microsoft.com/en-us/library/system.diagnostics.presentationtracesources.aspx

我想这个跟踪是由 MS 开发人员编写的,以帮助您弄清楚他们的代码在做什么。System.Net 和 WCF 堆栈都大量使用 System.Diagnostics 跟踪 - 一旦您知道跟踪源名称,您就可以连接侦听器并“查看矩阵”滚动。

您可以写入任何跟踪源,但您可能想要创建自己的跟踪源,它们很容易创建。

于 2013-04-18T19:34:18.560 回答