我的CA2000分析器(“在丢失作用域之前处置对象”)告诉我,一旦完成了对OWin的IAppBuilder的定制,就可以处置HttpConfiguration实例。
我试着这样做,但一切都运行得很好。MSDN没有告诉我应该或不应该处置HttpConfiguration,就像它告诉我们任务一样好(“不要费心处置任务实例”)。
既然我不想让一个实例置之不理,就像我不想在某一天发现我的web服务器崩溃一样,我该怎么办呢?
编辑,我代码的一部分:
public void Configuration(IAppBuilder appBuilder)
{
EnableCookieAuth(appBuilder);
UseWebApi(appBuilder);
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "Handled by ")]
private static void UseWebApi(IAppBuilder appBuilder)
{
appBuilder.Use<ControlMiddleware>();
using HttpConfiguration config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
appBuilder.UseNinjectWebApi(config);
config.EnsureInitialized();
}发布于 2019-10-26 18:42:41
在owin应用程序中部署httpConfiguration有意义位置是在OnAppDisposing中
HttpConfiguration httpConfiguration = new HttpConfiguration();
app.UseWebApi(httpConfiguration);
AppProperties properties = new AppProperties(app.Properties);
CancellationToken token = properties.OnAppDisposing;
if (token != CancellationToken.None)
{
token.Register(() =>
{
httpConfiguration.Dispose();
});
}https://stackoverflow.com/questions/58569500
复制相似问题