【问题标题】:Where does PresentationTraceSources.Refresh look for the app.config file?PresentationTraceSources.Refresh 在哪里查找 app.config 文件?
【发布时间】:2013-04-10 16:27:54
【问题描述】:

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

【问题讨论】:

    标签: wpf debugging app-config trace


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • WPF 跟踪可以通过在注册表中设置一个标志来启用,或者通过从代码中调用PresentationTraceSources.Refresh() 来启用。请参阅此 MSDN blog
    猜你喜欢
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多