Middleware ialah komponen perisian yang dipasang ke dalam saluran paip aplikasi Mengendalikan permintaan dan respons.
Setiap komponen memilih sama ada untuk menghantar permintaan kepada komponen seterusnya saluran paip dan boleh melakukan operasi tertentu sebelum dan selepas komponen seterusnya Dipanggil dalam talian paip.
Pelanjutan peta digunakan sebagai konvensyen untuk cawangan saluran paip.
Kaedah sambungan peta digunakan untuk memadankan perwakilan permintaan berdasarkan perwakilan yang diminta. path.Map hanya menerima laluan dan fungsi untuk mengkonfigurasi perisian tengah individu saluran paip.
Dalam contoh di bawah, sebarang permintaan dengan laluan asas /maptest akan diproses Melalui saluran paip yang dikonfigurasikan dalam kaedah 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); }
Selain pemetaan berasaskan laluan, kaedah MapWhen juga menyokong pemetaan berasaskan predikat.
Percabangan middleware yang membolehkan membina saluran paip berasingan dengan fleksibiliti yang hebat fesyen.Sebarang predikat jenis Func
private static void HandleBranch(IApplicationBuilder app){ app.Run(async context =>{ await context.Response.WriteAsync("Branch used."); }); } 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); }); }
Peta pun boleh bersarang
app.Map("/level1", level1App => { level1App.Map("/level2a", level2AApp => { // "/level1/level2a" //... }); level1App.Map("/level2b", level2BApp => { // "/level1/level2b" //... }); });
Atas ialah kandungan terperinci Apakah kegunaan sambungan 'Peta' apabila menambah perisian tengah pada saluran paip Teras C# ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!