Action & Filter & Middleware

public delegate Task RequestDelegate(HttpContext context);
public delegate Task OwinMiddleware(RequestDelegate request,HttpContext context);
public delegate RequestDelegate CoreMiddleware(RequestDelegate request);
public delegate Task FilterDelegate<TContextExecuting,TContextExecuted>(TContextExecuting before,Task<TContextExecuted> after);
public IAppBuilder Use(this IAppBuilder app,RequestDelegate request)
{
    app.Use(async (req,ctx) =>{
        await request(context);
        await req(context);
    });
    return app;
}

public IApplicationBuilder Use(this IApplicationBuilder app,RequestDelegate request)
{
    app.Use(next => async ctx => {
        await request(ctx);
        await next(ctx);
    })
    return app;
}

Last updated