簡述:
Map基于給定請求路徑的匹配項來創(chuàng)建請求管道分支??梢葬槍Σ煌穆窂教砑硬煌闹虚g件。
詳解:
中間件是組裝到應(yīng)用程序管道中以處理請求和響應(yīng)的軟件組件。
每個組件都選擇是否將請求傳遞給管道中的下一個組件,并可以在管道中調(diào)用下一個組件之前和之后執(zhí)行某些操作。
映射擴展名用作分支管道的約定。
Map擴展方法用于根據(jù)請求的路徑來匹配請求委托。Map僅接受路徑和配置單獨的中間件管道的函數(shù)。
在下面的示例中,任何帶有/ maptest基本路徑的請求都將由HandleMapTest方法中配置的管道處理。
示例:
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);
}
除了基于路徑的映射外,MapWhen方法還支持基于謂詞的中間件分支,從而允許以非常靈活的方式構(gòu)造單獨的管道。
類型Func <HttpContext,bool>的任何謂詞均可用于將請求映射到管道的新分支。文章來源:http://www.zghlxwxcb.cn/news/detail-581438.html
private static void HandleBranch(IApplicationBuilder app){
app.Run(async context =>{
await context.Response.WriteAsync("使用分支。");
});
}
public void ConfigureMapWhen(IApplicationBuilder app){
app.MapWhen(context => {
return context.Request.Query.ContainsKey("branch");
}, HandleBranch);
app.Run(async context =>{
await context.Response.WriteAsync("Hello from " + _environment);
});
}
映射也可以嵌套文章來源地址http://www.zghlxwxcb.cn/news/detail-581438.html
app.Map("/level1", level1App => {
level1App.Map("/level2a", level2AApp => {
// "/level1/level2a"
//...------
});
level1App.Map("/level2b", level2BApp => {
// "/level1/level2b"
//...------
});
});
到了這里,關(guān)于1.ASP.NET Core中間件管道MAP的作用?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!