최근 MVC 4 응용 프로그램에서 SqlServer 실크를 사용하여 Microsoft.Practices.EnterpriseLibrary.SemanticLogging (v6)을 추가했습니다.(Microsoft.Practices.EnterpriseLibrary.SemanticLogging) SqlDatabaseLog.EnableEvents의 주입 이벤트 소스
var sqlListener = SqlDatabaseLog.CreateListener("SampleEventLogger",strConnection);
sqlListener.EnableEvents(BasicLogger.Log, EventLevel.LogAlways);
이
BasicLogger.Log.Critical("ERROR CRITICAL");
그것은 잘 작동 내 컨트롤러에 코드입니다!
... 이제 장애물 : 내 MVC 응용 프로그램에서 DI 용 Unity를 사용하고 생성자 ILogger 인터페이스에 주입합니다. 통합 컨테이너에 등록한 것과 동일한 참조를 사용해야하므로 (그렇지 않으면 작동하지 않습니다.) RegisteredType을 사용하는 것이 해결책 일 수 있다고 생각했습니다.
var myRegistereType = container.Resolve<ILogger>();
sqlListener.EnableEvents(myRegistereType, EventLevel.LogAlways);
하지만이
사람이 어떤 생각을 가지고 있습니까 가이 드 XXX XXX XXX XXX *와 EventSource의 인스턴스가 이미 있습니다 오류
* 을받은? 감사합니다.