相关疑难解决方法(0)

如何将Autofac与WepApi 2和Owin集成?

我正在使用此软件包将Autofac与我的WebApi Owin应用程序集成:

https://www.nuget.org/packages/Autofac.WebApi2.Owin

并关注这篇文章:

http://alexmg.com/owin-support-for-the-web-api-2-and-mvc-5-integrations-in-autofac/

我在Startup.cs中的代码如下所示:

        var config = new HttpConfiguration();

        IContainer container = EngineContext.InitializeEngine();

        var dependencyResolver = new AutofacWebApiDependencyResolver(container);
        config.DependencyResolver = dependencyResolver;

        app.UseAutofacMiddleware(container);
        app.UseAutofacWebApi(config);

        WebApiConfig.Register(config);
        app.UseWebApi(config);
Run Code Online (Sandbox Code Playgroud)

无论我如何旋转它,重新排列代码或其他任何东西,Autofac都无法解决任何问题.在Owin之前,我的Global.asax方法运行得很好:

    protected void Application_Start()
    {
        IContainer container = EngineContext.InitializeEngine();

        var dependencyResolver = new AutofacWebApiDependencyResolver(container);
        GlobalConfiguration.Configuration.DependencyResolver = dependencyResolver;

        GlobalConfiguration.Configure(WebApiConfig.Register);
    }
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

谢谢

c# autofac owin asp.net-mvc-5 asp.net-web-api2

23
推荐指数
1
解决办法
2万
查看次数

Autofac错误:无法加载文件或程序集'System.Web.Http,Version = 5.2.0.0,...'我的项目是Owin WebApi2 SelfHost

我有一个使用Microsoft.AspNet.WebApi.OwinSelfHost的简单项目.这是一个Owin自托管WebApi 2项目.该项目非常类似于: -

https://github.com/attilah/AngularJSAuthentication

我唯一的区别是我的安全模块是在单独的程序集中(一切类似于上面的项目).我使用Autofac来解决我的依赖关系.

当没有Autofac时,这个项目有效.但是,一旦我尝试使用相应的安全模块和Autofac设置我的项目,我面临的是这个错误: -

Could not load file or assembly 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

我的配置非常受这个帖子的启发: -

依赖注入无法与Owin自托管Web Api 2和Autofac一起使用

此外,我发现其他人在努力解决Autofac的这种依赖性问题,并且能够通过重新安装Microsoft.AspNet.WebApi.WebHost来解决类似的问题:

在Web API 2和.NET 4.5.1迁移之后,GlobalConfiguration.Configure()不存在

但这对我不起作用我不知道为什么.我试过从头开始重新安装一切也没有帮助.除了Autofac在重新安装时还有几个权限问题这一事实.

有人有这个错误的经验吗?请帮忙.谢谢!

.net self-hosting autofac asp.net-web-api owin

10
推荐指数
1
解决办法
1万
查看次数