asp.net – 在Owin有来自Global.asax的Application_End吗?

前端之家收集整理的这篇文章主要介绍了asp.net – 在Owin有来自Global.asax的Application_End吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Startup.cs是在Global.asax中初始化应用程序而不是Application_Start的一种新方式,没关系。但是有没有一个地方可以把我的拆卸逻辑,例如:
public class WebApiApplication : System.Web.HttpApplication
{
  protected void Application_End()
  {
    // Release you ServiceBroker listener
    sqlDependency.Stop(connString);
  }
}

看着Microsoft.Owin的命名空间,但它似乎只有OwinStartupAttribute。这是否意味着应用程序生命周期事件仍由System.Web.HttpApplication实例处理,OWIN规范不支持

解决方法

AppProperties,在Microsoft.Owin.BuilderProperties中找到,显示了OnAppDisposing的CancellationToken。

您可以获取此令牌并注册回调

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var properties = new AppProperties(app.Properties);
        CancellationToken token = properties.OnAppDisposing;
        if (token != CancellationToken.None)
        {
            token.Register(() =>
            {
                // do stuff
            });
        }
    }
}

猜你在找的asp.Net相关文章