c# - TraceSource 名称是如何在 .NET 程序中解析的?

标签 c# .net app-config tracesource

TraceSource 类的 MSDN 文档有一个示例,说明 app.config 文件如何列出 TraceSource 实例的信息:

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

但是,没有关于 TraceSource 值存储位置的信息……现有的 TraceSource 对象存储在哪里?它们是什么时候构造的(编辑:它们是指配置的实例)? TraceSource 对象如何知道在创建 TraceSource 对象时如何返回命名实例(编辑:应该是配置实例)而不是新实例?我可以在不使用反射的情况下找到现有 TraceSource 对象的列表吗?

最佳答案

TraceSource 类保留一个私有(private)的源列表。但除了 TraceSource 类本身之外,任何人都无法访问它。

.config 文件部分旨在为跟踪源配置监听器。因此,当您在代码中创建 TraceSource 时,它​​会使用您在构造函数中传递的名称,并继续查看 .config 文件以查看应自动添加或删除哪些监听器。

所以代码创建了一个源,.config 文件对其进行配置。反之亦然,.config 文件无法创建源。

关于c# - TraceSource 名称是如何在 .NET 程序中解析的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868782/

相关文章:

c# - 在 C# 中,在 DLL 中捕获 SOAP

nhibernate - 如何将应用程序设置加载到 NHibernate.Cfg.Configuration 对象?

c# - 使用 dispose/finalize 模式释放 socket/event/ummaged 代码的正确技术

c# - 如何在 MVC 4 中实现日期范围验证器

c# - 从自动生成的 [assembly].xml 文件中将 XML 注释重新插入到 C# 源文件树中

c# - 在不使用 for 循环的情况下用十进制计算 IEnumerable<decimal>

c# - 如何获取 Invoke 方法的所有结果

c# - N层架构中的单元测试

c# - 我的 .NET 应用程序何时/如何使用其 App.Config 文件?

c# - 当单词出现的顺序或次数不重要时,两个字符串之间的最佳匹配?