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(),相當於在處理請求之前,先對請求篩選到指定委托