背景:耳鼻喉科庫6/3團結:注入的依賴成CustomTraceListener
我使用企業庫6和Unity 3在我的解決方案來管理橫切關注點,並作爲管理依賴注入一個輕量級的容器。我有開發自定義跟蹤偵聽器的需求。我需要在該自定義跟蹤偵聽器中注入一個依賴項。
此功能可在企業庫5和Unity 2.以下鏈接提供的是如何才能實現(我對自己的要求是幾乎相同,故在鏈接概述)一個很好的例子:
Unity/EntLib: Injecting a dependency into a CustomTraceListener
但是,好像它不是企業庫6一個簡單的遷移,有以下原因:
耳鼻喉科庫6 TraceListenerData類不再使可用的覆蓋反對:
GetCreationExpression()
...方法。耳鼻喉庫6中的新功能是在提供:
CoreBuildTraceListener()
...方法。我的理解是,允許將'標記'放置在返回的表達式中,以便在解析Unity容器時可以替換該標記的Ent Lib 5 GetCreationExpression()
。新的CoreBuildTraceListener()
返回Trace Listener的新實例。
另外,Enterprise Library不再使用Unity容器來解析實例。的:
EnterpriseLibraryCoreExtension
...已被刪除。新方法將沿着以下方向:
container.RegisterInstance(logWriterFactory.Create());
但是,對於我來說,這意味着在任何調用可以通過Unity容器解析接口之前調用CoreBuildTraceListener()(在logWriterFactory.Create())上。
問題(S):
使用企業庫6和Unity 3,是有可能要麼:
一個。獲取統一容器的保持在正確的時間CoreBuildTraceListener()
方法 - 這樣我就可以找到合適的接口,我需要創建自定義跟蹤偵聽器時,注入到我的自定義跟蹤監聽器或...
灣是否有一種新方法可以達到我不知道的相同最終目標(如果可能,請提供一個簡單示例?)或...
c。這個功能是否退化?