<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET Core中間件設置教程(7)

        來源:懂視網 責編:小采 時間:2020-11-27 22:35:31
        文檔

        ASP.NET Core中間件設置教程(7)

        ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執(zhí)行特定的操作的關鍵。 中間件是組裝成應用的管道
        推薦度:
        導讀ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執(zhí)行特定的操作的關鍵。 中間件是組裝成應用的管道

        Asp.Net Core-中間件

        在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執(zhí)行特定的操作的關鍵。

      1. 中間件是組裝成應用的管道來處理請求和響應的軟件組件。
      2. 每個組件可以選擇是否要在管道中將請求傳遞到下一個組件,并可以在管道中執(zhí)行某些操作之前和之后的任務。
      3. Request委托用于構建請求管道。Request委托用來處理每個HTTP請求。
      4. 每件中間件在 ASP.NET Core都是一個對象,并且每一塊有非常具體、 專注和有限的作用。
      5. 最終,我們需要很多的中間件為應用程序提供適當的行為。
      6. 現在讓我們假設我們想將每個對我們應用程序的請求都記錄日志。

      7. 在這種情況下,我們安裝到應用程序中的第一塊中間件是一個日志組件。
      8. 這個日志程序可以看到一切傳入的請求,然后該中間件只是記錄一些信息,然后傳遞這個請求下一個塊中間件。
      9. 中間件是以一系列的組件出現在這個處理管道中。
      10. 我們安裝到應用程序的下一個中間件是一個授權組件。
      11. 一個組件可能是尋找特定cookie或訪問HTTP標頭中的令牌。
      12. 如果授權組件發(fā)現一個令牌,它允許請求繼續(xù)。
      13. 如果不是,授權組件本身可能會響應請求的HTTP錯誤代碼或將用戶重定向到登錄頁面。
      14. 否則,授權組件將請求傳遞給下一個路由器的中間件。
      15. 一個路由器查看URL,并確定下一步的行動。
      16. 路由器是在做一些回應,如果路由器沒有找到任何回應,路由器本身可能會返回404 Not Found錯誤。
      17.  案例

        現在讓我們通過一個簡單的例子來理解更多關于中間件的知識。我們通過使用我們的啟動類的Configure方法來配置中間件組件。

        using Microsoft.AspNet.Builder; 
        using Microsoft.AspNet.Hosting; 
        using Microsoft.AspNet.Http; 
        using Microsoft.Extensions.DependencyInjection; 
        using Microsoft.Extensions.Configuration; 
        namespace FirstAppDemo { 
         public class Startup { 
         public Startup() { 
         var builder = new ConfigurationBuilder() 
         .AddJsonFile("AppSettings.json"); 
         Configuration = builder.Build(); 
         } 
         public IConfiguration Configuration { get; set; } 
         
         // This method gets called by the runtime. 
         // Use this method to add services to the container. 
         // For more information on how to configure your application, 
         // visit http://go.microsoft.com/fwlink/?LinkID=398940 
         public void ConfigureServices(IServiceCollection services) { 
         } 
         
         // This method gets called by the runtime. 
         // Use this method to configure the HTTP request pipeline. 
         public void Configure(IApplicationBuilder app) { 
         app.UseIISPlatformHandler(); 
         
         app.Run(async (context) => { 
         var msg = Configuration["message"]; 
         await context.Response.WriteAsync(msg); 
         }); 
         } 
         // Entry point for the application. 
         public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
         } 
        }
        

        Configure()方法內,我們將調用IApplicationBuilder接口的擴展方法來添加中間件。

         默認情況下在一個新的空項目有兩塊中間件-

        IISPlatformHandler

        Middleware registered with app.Run

        IISPlatformHandler

        IISPlatformHandler允許我們使用Windows身份驗證。它將著眼于每個傳入請求,看看是否有任何Windows身份信息相關的請求,然后調用下一個塊中間件。

        Middleware registered with app.Run

        在這種情況下一個中間件在app.Run中注冊的中間件。Run方法允許我們傳入另一種方法,我們可以使用它來處理每一個響應。Run方法不是你經常會看到的,我們可以稱它為一個中間件的終端。

        你注冊運行的中間件將永遠不會有機會調用另一個中間件,它唯一能做的就是接收請求,便要產生某種反應。

        你也訪問到一個響應對象,你可以在響應對象中添加一些字符串。

        如果你想在app.Run之后注冊另一個中間件,這段中間件將永遠不會被調用,因為Run方法是一個中間件的終端。它不會調用下一個塊中間件。

        如何添加一個中間件

        讓我們著手進行以下步驟來添加另一個中間件 −

        步驟1−右鍵單擊項目并選擇Manage NuGet Packages。

        步驟2−搜索 Microsoft.aspnet.diagnostics,此特定的軟件包包含許多不同種的中間件,我們可以使用。

        步驟3−如果該包沒有安裝在您的項目中,那選擇安裝這個包。

        步驟4−現在讓我們在Configure()方法調用app.UseWelcomePage中間件。

        // This method gets called by the runtime. 
        // Use this method to configure the HTTP request pipeline. 
        public void Configure(IApplicationBuilder app) { 
         app.UseIISPlatformHandler(); 
         app.UseWelcomePage(); 
         
         app.Run(async (context) => { 
         var msg = Configuration["message"]; 
         await context.Response.WriteAsync(msg); 
         }); 
        

        步驟 5 − 運行您的應用程序,您將看到以下的歡迎屏幕。

        這個歡迎屏幕可能不是那么有用。

        步驟6−讓我們試試別的東西,可能是更有用的,而不是使用歡迎頁面,我們將使用RuntimeInfoPage。

        // This method gets called by the runtime. 
        // Use this method to configure the HTTP request pipeline. 
        public void Configure(IApplicationBuilder app) { 
         app.UseIISPlatformHandler(); 
         app.UseRuntimeInfoPage(); 
         
         app.Run(async (context) => { 
         var msg = Configuration["message"]; 
         await context.Response.WriteAsync(msg); 
         }); 
        }

        第 7 步 − 保存您的 Startup.cs 頁面并刷新您的瀏覽器,你會看到下面的頁面。

        這個 RuntimeInfoPage 是中間件,將只響應一個特定的 URL 的請求。如果傳入的請求與該 URL 不匹配,這個中間件只是讓請求傳遞到下一件中間件。該請求將通過 IISPlatformHandler 中間件,然后轉到 UseRuntimeInfoPage 中間件。它不會創(chuàng)建響應,所以它會轉到我們的應用程序。運行并顯示該字符串。

        步驟8−我們在URL結尾添加“ runtimeinfo”。現在,您將看到一個頁面,該頁面是由中間件運行時信息頁面。

        你將看到一個返回頁面,它給你展示了一些關于你的運行時環(huán)境,如操作系統(tǒng)、運行時版本,結構,類型和您正在使用的所有包的信息。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET Core中間件設置教程(7)

        ASP.NET Core中間件設置教程(7):Asp.Net Core-中間件 在這一章,我們將了解如何設置中間件。中間件技術在 ASP.NET Core中控制我們的應用程序如何響應 HTTP 請求。它還可以控制應用程序的異常錯誤,這是一個在如何進行身份驗證和授權用戶執(zhí)行特定的操作的關鍵。 中間件是組裝成應用的管道
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲激情在线观看| 亚洲AV无码专区日韩| 亚洲AV中文无码字幕色三| 国产成人高清精品免费观看| 亚洲AV中文无码乱人伦| 四虎精品成人免费视频| 亚洲精品456播放| WWW免费视频在线观看播放| 亚洲色婷婷一区二区三区| A级毛片高清免费视频在线播放| 亚洲日韩精品无码专区网址| 免费91麻豆精品国产自产在线观看 | 中国一级毛片免费看视频| 国产亚洲自拍一区| 成人网站免费看黄A站视频| 亚洲人成在线播放网站岛国| 91制片厂制作传媒免费版樱花| 亚洲欧洲国产经精品香蕉网| 成人在线视频免费| 日本一区二区在线免费观看| 国产亚洲精品无码专区| 免费的全黄一级录像带| 亚洲成人网在线播放| 国产午夜免费福利红片| 国产日韩在线视频免费播放| 亚洲蜜芽在线精品一区| 免费看AV毛片一区二区三区| 一级做受视频免费是看美女| 久久亚洲私人国产精品vA| 卡1卡2卡3卡4卡5免费视频| 久久精品免费网站网| 亚洲六月丁香婷婷综合| 亚洲国产精品无码久久久久久曰| 国产免费AV片在线观看| 亚洲人成人伊人成综合网无码| 亚洲午夜日韩高清一区| av无码久久久久不卡免费网站| 特级一级毛片免费看| 中文字幕亚洲综合久久| 亚洲国产午夜福利在线播放| 国产无人区码卡二卡三卡免费 |