2011-12-03 68 views
0

在我的ASP.NET MVC項目中,我有2個項目 - UI和Core。我有StructureMap建立在我的核心項目,像這樣:使用StructureMap在2個程序集中添加註冊表

ObjectFactory.Initialize(cfg => cfg.Scan(scanner => 
{ 
    scanner.TheCallingAssembly(); 
    scanner.LookForRegistries(); 
})); 

,我有一個註冊成立,其允許我使用的IoC我的資料庫:

public class CoreRegistry : Registry 
{ 
    public CoreRegistry() 
    { 
     Scan(cfg => 
     { 
      cfg.TheCallingAssembly(); 
      cfg.WithDefaultConventions(); 
     }); 
    } 
} 

我在全球初始化這個的.asax。所有這些配置在Core中都是黑盒子,一切都很好。

但是,現在我想在我的UI項目中使用StructureMap for IoC。配置完成後,是否可以向配置添加更多內容?我討厭必須解開所有的東西才能讓我的UI元素註冊。

回答

0

您可以使用相同的策略來註冊ui對象。您可以將對UI組件的引用發送到在Core dll中查找註冊表的方法中。並掃描UI組件註冊以及:

ObjectFactory.Initialize(cfg => cfg.Scan(scanner => 
{ 
    scanner.TheCallingAssembly(); 
    scanner.Assembly(assembly); 
    scanner.LookForRegistries(); 
})); 

而且你可以像往常一樣在UI項目中聲明註冊表。您也可以隨時添加任意數量的註冊表。

相關問題