OWIN自托管 - 钩入开始请求、结束请求事件

7
在ASP.NET OWIN自托管中,由于不需要Global.asax.cs文件,你如何挂钩BeginRequest、EndRequest、Application Start和Application End事件?
2个回答

6
在管道的开始处添加一个简单的 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
    }
}

1
在WebAPI中,您可以使用过滤器来实现此功能。您可以重写OnActionExecutingOnActionExecuted。如果您不想注释每个控制器,您可以将您的过滤器添加为全局过滤器:
GlobalConfiguration.Configuration.Filters.Add(new MyFilterAttribute());

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接