2
我手动registrering我的项目的Web API控制器的一个子集:注册子集,用简单的注射器
container.Register(typeof(ILGTWebApiController), controllerType, Lifestyle.Transient);
工作正常。然而,当我运行:
GlobalConfiguration.Configuration.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(container);
这似乎影响项目中的所有的Web API控制器。我想通过简单的喷油器保持其他部分不变。
如果我不跑上面的代码,简单的喷油器会抱怨没有一个空的构造(他们显然不会,因为我使用DI)我的控制器。
谢谢史蒂芬,似乎工作正常:)后续问题,如果你有时间:当使用这种解决方案,是否有任何相应的选项'GlobalConfiguration.Configuration.DependencyResolver.GetService'? – Johan
我问的原因是因为我在属性类中使用了该片段。我想解决这个问题的一种方法是全局暴露'容器',以便可以从属性中访问它。像这样暴露容器被认为是不好的做法吗?我想一个缺点是它不能100%验证? – Johan
对不起,你想做什么?你在一个属性中做什么,为什么? – Steven