2013-10-08 25 views
3

背景:耳鼻喉科庫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。這個功能是否退化?

回答