2013-04-17 101 views
0

我想更好地理解PresentationTraceSources。 Refresh()方法的文档说“通过强制重新读取app.config文件刷新跟踪源。”它期望在哪里找到app.config文件?如果我将一个应用程序配置文件添加到我的项目中,它将被放置在项目源文件夹中,但是当部署应用程序时,不存在这样的文件夹。如果Refresh()无法找到app.config,它会执行什么操作?如果我在代码中配置PresentationTraceSources,则不一定存在app.config文件。但是PresentationTraceSources.Refresh()调用仍然是必需的。在这种情况下究竟发生了什么?PresentationTraceSources.Refresh在哪里查找app.config文件?

回答

0

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

预期的方案是使用配置文件,假定机器管理员与用户分开将收集跟踪,并且需要这样做而无需重新编译,并且需要关闭跟踪而无需重新编译。这将通过在应用程序配置文件配置监听器,名字类似XamlPad.exe.config

做它看起来像你需要设置一个注册表项,你需要有充分的信任。

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

我想象,这个痕迹是由MS开发人员编写的,以帮助你找出自己的代码做什么。 System.Net和WCF堆栈都使用System.Diagnostics跟踪很多 - 一旦知道跟踪源名称,就可以连接侦听器并“滚动查看矩阵”。

你可以写任何痕迹源,但你可能会想创建自己的跟踪源,它们很容易创建。

+0

WPF迹线可以通过设置在注册表中的标志从代码被启用,或者通过调用'PresentationTraceSources.Refresh()'。看到这个MSDN [博客](http://blogs.msdn.com/b/mikehillberg/archive/2006/09/14/wpftracesources.aspx) – bouvierr

相关问题