Autofac集成:-Http配置与GlobalConfiguration

问题描述

应用程序托管在IIS上。 我正在跟踪用于集成到Web应用程序中的autofac链接:-https://autofaccn.readthedocs.io/en/latest/integration/webapi.html#get-the-httpconfiguration。 在global.asax.cs中,调用WebApiConfig.Register,它使用GlobalConfiguration.Configuration来映射http属性和其他与WebAPI相关的功能。 我有一个启动类,在Global.asax.cs执行完成后会被调用,在启动类中,我有以下代码:-

    var builder = new ContainerBuilder();
    builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
    var container = builder.Build();
    var config = GlobalConfiguration.Configuration;
    config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

我正在使用GlobalConfiguration进行依赖性解析,但是在自动链接集成链接上:-https://autofaccn.readthedocs.io/en/latest/integration/webapi.html#owin-integration提到:-OWIN集成中的一个常见错误是使用GlobalConfiguration.Configuration。在OWIN中,您可以从头开始创建配置。使用OWIN集成时,不应在任何地方引用GlobalConfiguration.Configuration。 我使用GlobalConfiguration以及通过创建新的http配置进行了测试:-

            var container = builder.Build();
            var httpConfig =
             new HttpConfiguration
             {
                 DependencyResolver = new AutofacWebApiDependencyResolver(container),IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always,};
            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(httpConfig);
            app.UseWebApi(httpConfig);

两者都很好。我想了解为什么我应该使用httpconfiguration vs globalconfiguration,因为所有注册都是由GlobalRegistration进行的。同样在此链接https://www.strathweb.com/2016/05/running-multiple-asp-net-web-api-pipelines-side-by-side/上,它提到具有新的http配置意味着新的服务器实例将启动。另外,当应该创建新的http配置时。 我尝试了这个,它也没问题

        var container = builder.Build();
        app.UseAutofacMiddleware(container);

任何人都可以清除我应该采用的方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...