运行地图使用
跑
终止链。此后不会运行其他中间件方法。应该放在任何管道的尽头。
app.Run(async context =>
{
await context.Response.WriteAsync("Hello from " + _environment);
});
使用
在下一个委托之前和之后执行操作。
app.Use(async (context, next) =>
{
//action before next delegate
await next.Invoke(); //call next middleware
//action after called middleware
});
Ilustration 的工作原理:
MapWhen
启用分支管道。如果满足条件,则运行指定的中间件。
private static void HandleBranch(IApplicationBuilder app)
{
app.Run(async context =>
{
await context.Response.WriteAsync("Condition is fulfilled");
});
}
public void ConfigureMapWhen(IApplicationBuilder app)
{
app.MapWhen(context => {
return context.Request.Query.ContainsKey("somekey");
}, HandleBranch);
}
地图
与 MapWhen 相似。如果用户请求的路径等于参数中提供的路径,则运行中间件。
private static void HandleMapTest(IApplicationBuilder app)
{
app.Run(async context =>
{
await context.Response.WriteAsync("Map Test Successful");
});
}
public void ConfigureMapping(IApplicationBuilder app)
{
app.Map("/maptest", HandleMapTest);
}
基于 ASP.net 核心文档