我有3個項目。帶有兩個初始化程序的StructureMap
1
/\ - inheritance
2 3
1項目有ObjectFactory.Initialize ... 我有1個接口和兩個實現。 我想爲兩個和三個項目使用兩種不同的實現。 我該怎麼辦? 是否可以使用StructureMap?
我有3個項目。帶有兩個初始化程序的StructureMap
1
/\ - inheritance
2 3
1項目有ObjectFactory.Initialize ... 我有1個接口和兩個實現。 我想爲兩個和三個項目使用兩種不同的實現。 我該怎麼辦? 是否可以使用StructureMap?
解決方案finded。 在基地項目我應該初始化:
ObjectFactory.Initialize(x => x...)
但在依賴的項目,我應該基地項目初始化後配置:
ObjectFactory.Configure(x => x...)
StructureMap不是限制因素。你的2個界面實現是在哪個項目中進行的?
如果他們在項目2和3中,那麼您需要在項目2和項目3中執行ObjectFactory.Initialize,您將知道您要使用哪個接口的實現。
如果它們在項目1中,則可以在項目1中創建兩個新類,以項目2和3所需的方式初始化容器,然後確保爲每個相應項目使用適當的類。
在這兩種情況下,您需要兩種不同的方法來構建容器以支持最終結果,在您的案例中,這是項目2和3。
我有加初始化到我的2個3個項目。現在它的工作是這樣的: - 執行基礎初始化器; - 執行2或3個項目的初始化程序; 但它會拋出異常,如果我試圖做一些使用基本初始化中定義的任何實現。 如果我反向調用它,從「initializator for project」引發實現異常。 –
你可以編輯你的文章,並顯示你的基礎初始值設定項目和初始值設定項目2或3?另外,當您在基礎初始化程序中使用實現時,是否可以顯示引發異常的示例? –