加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:47:08 所属栏目:asp.Net 来源:网络整理
导读:Startup.cs 是在Global.asax中初始化应用程序而不是Application_Start的一种新方式,没关系。但是有没有一个地方可以把我的拆卸逻辑,例如: public class WebApiApplication : System.Web.HttpApplication{ protected void Application_End() { // Release
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
            });
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读