2009-07-29 63 views
2

當我註冊在SM以下,然後嘗試創建一個實例我得到的異常 - 「StructureMap異常代碼:202無默認實例PluginFamily定義...」StructureMap異常代碼:202無默認實例定義

Scan(x => 
     { 
      x.Assembly("MVCDemo"); 
      x.Assembly("MVCDemo.Infrastructure"); 
      x.Assembly("MVCDemo.Services"); 

      x.AddAllTypesOf(typeof (IRepository<>)); 
     }); 

     ForRequestedType<IRepository<Employee>>().TheDefault.Is.ConstructedBy(() => new EmployeeRepository()); 


var tmp4 = ObjectFactory.GetInstance<IRepository<Employee>>(); 

當我嘗試獲取IRepository的實例時發生異常。

有誰知道我錯過了什麼?

乾杯

奧利

回答

5

回答是我不應該使用的ObjectFactory創建實例,我應該使用的容器:

var container = new Container(new MvcDemoRegistry()); 
var cultureProvider = container.GetInstance<IProvideCultureInfo>(); 

奧利

2

你不應該在使用一個容器時使用容器來獲取實例IoC和DI。您應該使用構造函數注入並讓IoC爲您處理注入。

相關問題