我的CA2000分析器(“在失去作用域之前先HttpConfiguration
放置对象”)告诉我,一旦完成对OWin的自定义,便要处置该实例IAppBuilder
。
我只是尝试这样做,并且一切正常。MSDN并没有告诉我应该或不应该处置的任何信息HttpConfiguration
,就像它讲述的Tasks一样好(“不要麻烦处置Task实例”)。
由于我不想让某个实例处于混乱状态,就好像我不想找到某天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();
}
httpConfiguration
在owin应用中合理配置的地方,在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();
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句