同步锁异常 + 日志记录

6

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

Logger.Write("test");

目前没有什么特别的。检查输出时,我发现一个相当奇怪的问题;当第一次调用代码并加载所有必需的库时,似乎会出现异常...

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

因为我已经打开了捕获异常,所以这非常令人烦恼。你知道这是什么或如何摆脱它吗?

此外,我想添加一个Trace监听器来将所有日志输出到VS输出中。但似乎“系统诊断跟踪监听器”不支持格式化程序,这会导致输出泛滥。我是否仍然需要编写自定义监听器(像在v3中一样)才能实现这个非常基本的任务?

3个回答

4

3

我们已经修复了这个问题。通过NuGet查看最新版本。


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

这个问题可以通过替换Unity的一个内部组件来解决(不需要引号)。请参考我的答案。 - Rory MacLeod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接