Asp.net 핵심 미들웨어; 실행하고 Giriş를 사용하십시오.

5235 단어 csharpdotnet
Asp.net core'da 실행, 미들웨어 사용'ini inceleyelim.

1.) 미들웨어를 실행합니다.


  • 미들웨어'i kendinden sonra gelen middleware'leri çalışmasını engeller를 실행하십시오.
  • 미들웨어'i short circuit yani kısa devre middleware'idir를 실행하십시오.

  • Örnek :

    a.) 모델-뷰-컨트롤러 프로젝트를 시작합니다.

    b.) Startup.cs 클래스는 app.UseStaticFiles()에서 구성합니다. dan sonraya aşağıdaki kodları ekleyelim :

      app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu middleware den sonrasi calismayacak.");
                });
    


    c.) Uygulamayı çalıştıralım :



    Görüldüğü üzere Run metodu kendisinden sonraki 미들웨어 çalıştırmıyor.

    d.) 실행 미들웨어'에서 실행 미들웨어 실행:

     app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu middleware2 den sonrasi calismayacak.");
                });
    


    metodumuz şimdi şöyle gözükmelidir 구성:

     public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                else
                {
                    app.UseExceptionHandler("/Home/Error");
                    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                    app.UseHsts();
                }
                app.UseHttpsRedirection();
                app.UseStaticFiles();
    
                app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu middleware den sonrasi calismayacak.");
                });
    
                app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu middleware2 den sonrasi calismayacak.");
                });
    
                app.UseRouting();
    
                app.UseAuthorization();
    
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapControllerRoute(
                        name: "default",
                        pattern: "{controller=Home}/{action=Index}/{id?}");
                });
            }
    
    


    e.) Uygulamayı çalıştıralım :



    Run 미들웨어에 대한 자세한 내용은 다음을 참조하십시오: Birinci Run 미들웨어는 short circuit(단락 회로) 파이프라인을 실행합니다.

    2.) Middleware'i 사용:


  • Use Middleware'i kendinden sonra gelen middleware çağırabilir, ve pipeline geriye döndüğünde next(); metodundan sonra yine farklı kodlar çalıştırabilir.

  • Örnek :

    a.) metodumuzu aşağıdaki gibi değiştirelim 구성

     public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
            {
    
                app.Use(async (context, next) =>
                {
                    await context.Response.WriteAsync(Environment.NewLine+"Bu middleware Use middleware'idir pipelini going" + Environment.NewLine);
                    await next();
                    await context.Response.WriteAsync(Environment.NewLine + "Bu middleware Use middleware'idir pipelini incoming/n" + Environment.NewLine);
    
    
                });
                app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu Run middleware den sonraski middleware calismayacak. Ve geriye donuyor..");
                });
    
                app.Run(async context =>
                {
                    await context.Response.WriteAsync("Bu middleware2 den sonrasi calismayacak.");
                });
    
    


    b.) Uygulamayı çalıştıralım :



    Gördüğünüz üzere ilkbaşta app.Ile ekrana 사용
    다음을 기다립니다();
    öncesindeki 응답 değerini yazdırdık. 다하 손라 :
    다음을 기다립니다();
    diyerek bi sonraki 미들웨어 olan Run 미들웨어'ini çalıştırdık.
    Run 미들웨어 응답 yazı yazdırdı ve kısa devre yaptı ikinci olan Run metoduna düşmedi.
    Kısa devre yaptıktan sonra akış geriye doğru akmaya başladı ve Use middleware'in
    다음을 기다립니다();
    metodundan sonraki 응답 ile dilediğimiz yazıyı yazdırdık.

    참고: Anlayacağınız üzere akış aşağıdaki gibi ilk middleware'den başlar ve sonra tekrar geriye doğru giderek yine ilk 미들웨어 ile son bulur:



    Bir dahaki yazımda Map ve MapWhen 미들웨어'lerini inceeyeceğiz.

    이 딜레클레림 일레.

    무스타파 사메드 예인.

    좋은 웹페이지 즐겨찾기