如何解决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 举报,一经查实,本站将立刻删除。