app.Map("/second", _app => { _app.Use(async (context,next)=>{ await context.Response.WriteAsync("second middleware\r\n"); await next.Invoke(); }); }); app.MapWhen(context => { return context.Request.Query["aaaa"] == "a"; }, _app => { _app.Use(async (context, next) => { await context.Response.WriteAsync("third middleware\r\n"); await next.Invoke(); }); });