StructureMap异常代码:202未定义默认实例
-
05-07-2019 - |
题
当我在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的实例时会发生异常。
有谁知道我错过了什么?
干杯
奥利
解决方案
答案是我不应该使用ObjectFactory来创建实例,我应该使用容器:
var container = new Container(new MvcDemoRegistry());
var cultureProvider = container.GetInstance<IProvideCultureInfo>();
TA
奥利
其他提示
使用IoC和DI时,不应该使用容器来获取实例。您应该使用构造函数注入并让IoC为您处理注入。
不隶属于 StackOverflow