工作,我用从autofac MVC的整合是这样的:MVC的Web API不Autofac集成
...
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
但现在我要重新与新的网络API RTM的解决方案。 我想使用新的AutofacWebApiDependencyResolver类。
但如果我这样做与AutofacWebApiDependencyResolver我得到这个错误:
The type Autofac.Integration.WebApi.AutofacWebApiDependencyResolver does not appear to implement Microsoft.Practices.ServiceLocation.IServiceLocator.
我读,我必须现在设置解析器做到这一点:
GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
但是,如果我把它'=',它没有设置。它仍然是DefaultResolver ...
如果我再次使用MVC AutofacDependencyResolver类,它将起作用。
autofac和web api rtm仍然存在问题吗? (目前的集成是RC版)
我再次使用AutofacDependencyResolver对我的工作。感谢您的信息。有一些参考链接吗?微软/ autofac解释了这一点吗?是使用ApiControler的,但是如果我想将DependecyResolver强制转换为AutofacWebApiDependencyResolver,它会失败。 – user437899
这似乎是,如果我通过DependencyResolver.Curren访问解析器,我得到MVC解析器。 WebApiResolver semms负责将参数注入ApiControllers。如果我想解决控制器方法中的任何类型,我必须使用MVC Resovler – user437899
@Max抱歉,我两次都迟到了,其他社区成员拒绝了您的编辑,因为它虽然增加了一个优点,但您应该留下评论相反(我知道你没有足够的声誉,但它并不遥远),因为处理回复编辑的政策非常严格,审稿人认为你想改变我的答案太多。无论如何感谢您在我的建议中编辑的帮助。 – nemesv