PresentationTraceSources.Refresh在哪里查找app.config文件?

时间:2013-04-17 19:00:58

标签: wpf debugging app-config trace

我想更好地了解PresentationTraceSources。 Refresh()方法的文档说"刷新跟踪源,强制重新读取app.config文件。"它希望在哪里找到app.config文件?如果我将一个应用程序配置文件添加到我的项目中,它将被放置在项目源文件夹中,但是当部署该应用程序时,没有这样的文件夹。如果找不到app.config,Refresh()会怎么做?如果我在代码中配置PresentationTraceSources,则app.config文件不一定存在。但是仍然需要PresentationTraceSources.Refresh()调用。在这种情况下真的发生了什么?

1 个答案:

答案 0 :(得分:0)

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

预期的方案是使用配置文件,假设与用户分开的机器管理员将收集跟踪,并且需要在不重新编译的情况下执行此操作,并且需要关闭跟踪而不重新编译。这可以通过在app配置文件中配置侦听器来完成,该文件的名称类似于XamlPad.exe.config

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

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

我想这个跟踪是由MS开发人员编写的,可以帮助你弄清楚他们的代码在做什么。 System.Net和WCF堆栈都使用System.Diagnostics跟踪很多 - 一旦你知道了跟踪源名称你可以挂钩监听器和“看到矩阵”滚动。

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