2011-12-03 5 views
0

私のASP.NET MVCプロジェクトでは、UIとコアという2つのプロジェクトがあります。私のStructureMapはそうのように私のコア・プロジェクトに設定している:私は世界でこれを初期化していますStructureMapを使用して2つのアセンブリにレジストリを追加する

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

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

と私は私が私のリポジトリ上のIoCを使用することができます設定のレジストリを持っています.asax。この設定はコアでブラックボックス化されており、すべてがうまくいきます。

しかし、私はUIプロジェクトでIoC用のStructureMapを使用したいと思います。既に設定された後に設定を追加することは可能ですか?私は登録するために私のUI要素を得るためにすべてを解明する必要はありません。

答えて

0

同じ戦略を使用して、uiオブジェクトを登録することができます。 UIアセンブリへの参照を `Core dllのレジストリを探すメソッドに送ることができます。また、登録者用のUIアセンブリをスキャンしてください。

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

そして、いつものようにUIプロジェクトでレジストリを宣言できます。また、任意の数のレジストリをいつでも追加できます。

関連する問題