我最近在我的 MVC 4 应用程序中添加了带有 SqlServer Silk 的 Microsoft.Practices.EnterpriseLibrary.SemanticLogging (v6)。
var sqlListener = SqlDatabaseLog.CreateListener("SampleEventLogger",strConnection);
sqlListener.EnableEvents(BasicLogger.Log, EventLevel.LogAlways);
这是我控制器中的代码
BasicLogger.Log.Critical("ERROR CRITICAL");
它运作良好!
...现在是障碍 :) 在我的 MVC 应用程序中,我将 Unity 用于 DI,并注入到构造函数 ILogger 接口中。因为我需要使用注册到统一容器中的相同引用(否则不起作用),所以我认为采用 RegisteredType 可能是解决方案。
var myRegistereType = container.Resolve<ILogger>();
sqlListener.EnableEvents(myRegistereType, EventLevel.LogAlways);
但我收到一个错误
*已经有一个带有 Guid XXX XXX XXX XXX 的 EventSource 实例 *
有人有什么主意吗?谢谢