StructureMap异常代码:202未定义默认实例

时间:2009-07-29 15:40:35

标签: exception registry structuremap dsl

当我在SM中注册以下内容然后尝试创建实例时,我得到异常 - 'StructureMap异常代码:202没有为PluginFamily定义默认实例...'

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的实例时会发生异常。

有谁知道我错过了什么?

干杯

奥利

2 个答案:

答案 0 :(得分:5)

答案是我不应该使用ObjectFactory来创建实例,我应该使用容器:

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

TA

奥利

答案 1 :(得分:2)

使用IoC和DI时,不应该使用容器来获取实例。您应该使用构造函数注入并让IoC为您处理注入。