欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET Core基礎(chǔ)之請(qǐng)求處理管道

 更新時(shí)間:2022年02月09日 11:52:50   作者:痕跡g  
這篇文章介紹了ASP.NET Core的請(qǐng)求處理管道,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

了解ASP.NET處理管道

為了理解ASP.NET Core中的請(qǐng)求處理管道概念,讓我們修改Startup類的Configure()方法,如下所示。

在這里,我們將三個(gè)中間件組件注冊(cè)到請(qǐng)求處理管道中。 如您所見(jiàn),前兩個(gè)組件是使用Use() 擴(kuò)展方法注冊(cè)的,因此它們有機(jī)會(huì)在請(qǐng)求處理管道中調(diào)用下一個(gè)中間件組件。

最后一個(gè)使用Run() 擴(kuò)展方法注冊(cè),因?yàn)樗鼘⒊蔀槲覀兊慕K止組件,即它將不會(huì)調(diào)用下一個(gè)組件。

了解ASP.NET Core請(qǐng)求處理管道執(zhí)行順序

為了理解這一點(diǎn),讓我們將上面的輸出與下圖進(jìn)行比較,以更簡(jiǎn)單的方式理解ASP.NET Core請(qǐng)求處理管道。

當(dāng)傳入的HTTP請(qǐng)求到達(dá)時(shí),它首先由第一個(gè)中間件組件(即Middleware1)接收,該組件在響應(yīng)流中記錄“ Middleware1:傳入請(qǐng)求”。因此,首先,我們首先在瀏覽器上看到此消息。

第一個(gè)中間件記錄了信息,然后它將調(diào)用next()方法,該方法將在請(qǐng)求處理管道中調(diào)用第二個(gè)中間件,即Middleware2。

第二個(gè)中間件記錄了“中間件2:傳入請(qǐng)求”信息,因此我們?cè)诘谝粋€(gè)日志之后看到了該日志信息。然后第二個(gè)中間件調(diào)用next(),它將在請(qǐng)求管道中調(diào)用第三個(gè)中間件Middleware3。

第三個(gè)中間件處理請(qǐng)求,然后產(chǎn)生響應(yīng)。因此,我們?cè)跒g覽器中看到的第三個(gè)信息是“ Middleware3:傳入請(qǐng)求已處理并生成響應(yīng)”。

該中間件組件是使用Run()擴(kuò)展方法注冊(cè)的,因此它是終端組件。因此,從這一點(diǎn)開(kāi)始,請(qǐng)求管道開(kāi)始反向。這意味著從該中間件將控制權(quán)交還給第二個(gè)中間件,第二個(gè)中間件將信息記錄為“中間件2:外發(fā)響應(yīng)”,然后將控制權(quán)交還給第一個(gè)中間件組件,第一個(gè)中間件組件記錄信息就像我們?cè)跒g覽器中看到的一樣,是"Middleware1:外發(fā)響應(yīng)"。

要記住的要點(diǎn):

ASP.NET Core請(qǐng)求處理管道由一系列中間件組件組成,這些中間件組件將一個(gè)接一個(gè)地調(diào)用。

每個(gè)中間件組件都可以在使用next方法調(diào)用下一個(gè)組件之前和之后執(zhí)行一些操作。 中間件組件還可以決定不調(diào)用下一個(gè)中間件組件,這稱為短路請(qǐng)求管道。

asp.net核心中的中間件組件可以訪問(wèn)傳入請(qǐng)求和傳出響應(yīng)。

您需要牢記的最重要的一點(diǎn)是,在Startup類的Configure方法中添加中間件組件的順序定義了將在請(qǐng)求時(shí)調(diào)用這些中間件組件的順序以及對(duì)它們的相反順序。 響應(yīng)。 因此,順序?qū)τ诙x應(yīng)用程序的安全性,性能和功能至關(guān)重要。

到此這篇關(guān)于ASP.NET Core基礎(chǔ)之請(qǐng)求處理管道的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論