OWIN自主机-挂接开始请求、结束请求事件

本文关键字:请求 结束 事件 开始 主机 OWIN | 更新日期: 2023-09-27 18:29:14

在ASP.NET OWIN自主机中,由于不需要Global.asax.cs,如何挂接BeginRequest、EndRequest、Application Start和Application End事件?

OWIN自主机-挂接开始请求、结束请求事件

在管道的开头添加一个简单的owin中间件来处理开始和结束请求。

public class SimpleMiddleWare:OwinMiddleware
{
    public SimpleMiddleWare(OwinMiddleware next) : base(next)
    {
    }
    public override async Task Invoke(IOwinContext context)
    {
        Debug.WriteLine("Begin Request");//Add begin request logic
        await Next.Invoke(context);
        Debug.WriteLine("End Request");//Add end request logic
    }
}

在WebAPI中,您可以为此使用过滤器。您可以覆盖OnActionExecutingOnActionExecuted。如果你不想注释每个控制器,你可以添加你的过滤器作为全局过滤器:

GlobalConfiguration.Configuration.Filters.Add(new MyFilterAttribute());

作为ApplicationStart的替代,您可以在OwinStartup类中执行代码。我不知道是否有类似ApplicationEnd的东西。