SynchronizationLockException + Logging

Jas*_*ter 6 .net logging enterprise-library exception enterprise-library-5

我刚开始使用企业库的v5,似乎遇到了一些奇怪的问题.通常我开始使用日志记录.我刚刚添加了所需的引用并执行以下代码:

Logger.Write("test");
Run Code Online (Sandbox Code Playgroud)

到目前为止没什么特别的.检查输出我发现了一个非常奇怪的问题; 当第一次调用代码并加载所有必需的库时,似乎有例外......

A first chance exception of type 'System.Threading.SynchronizationLockException' occurred in Microsoft.Practices.Unity.dll
A first chance exception of type 'System.Threading.SynchronizationLockException' occurred in Microsoft.Practices.Unity.dll
Run Code Online (Sandbox Code Playgroud)

由于我在打开cought异常时工作,这非常烦人.知道它是什么或如何摆脱它?

此外,我想添加一个Trace Listener来打印所有登录VS输出.但似乎"System Diagnostings Trace Listener"不支持格式化程序,这会导致输出泛滥.我是否仍然需要编写自定义侦听器(就像我以前在v3中所做的那样)来完成这个非常基本的任务?

Jas*_*ter 1

我找到了一个“解决方案”。考虑到这篇文章,企业库的 Unity 部分存在一个问题。由于每个组件都是使用 unity 构建的,因此您总是会遇到这些异常。所以“解决方案”是禁用 SynchronizationLockException 的中断;这是通过异常设置菜单完成的,您通常在其中打开已处理异常的中断。