Map 扩展方法用于匹配基于请求路径的请求委托。Map 只接受路径,并配置单独的中间件管道的功能
在StartUp.Config()方法里使用
第一种用法:
app.Map("/api/MessageRelease", new Controllers.MessageRelease().Map);
第二种用法:
app.MapWhen(context => {
return context.Request.Query.ContainsKey("MessageRelease");
}, new Controllers.MessageRelease().Map);
第一种和第二种的区别在于,筛选请求的方式不同,第一种只要是请求“/api/MessageRelease”都会进入到Controllers.MessageRelease().Map方法,而第二种是只要请求里面包含“MessageRelease”就会进入到Controllers.MessageRelease().Map方法
不管那种方式,只要使用了 Map,每个请求所匹配的路径段将从 HttpRequest.Path 中移除,并附加到 HttpRequest.PathBase 中。
而Controllers.MessageRelease().Map()方法里面会再使用app.Use(),相当于在处理请求之前,先对请求筛选到指定委托