M E D Y A T Ö R

Uygulamanızın Arka Plandaki Kahramanı: .NET Core MVC’de Middleware ile Trafiği Yönetme Sanatı

21

KASIM

2024


Görüntülenme

.NET Core MVC’de Middleware, uygulamanızın arka planda çalışan ve her isteği yöneten gizli bir kahraman gibidir. Bu bileşenler, gelen isteğin hedefe ulaşana kadar geçtiği yolda çeşitli işlemler yapar, gerektiğinde yanıtı şekillendirir ve uygulamanızın performansını, güvenliğini, kullanıcı deneyimini optimize eder.

Middleware Nedir?

Middleware, uygulamanıza gelen her istekte çalışan küçük modüllerdir. Basitçe düşünün, uygulamanıza bir istek geldiğinde, bu istek Middleware katmanları üzerinden geçer. Her bir katmanda belirli işlemler yapılır; örneğin, kimlik doğrulama kontrolü, loglama veya hata yönetimi. Böylece uygulamanızın kontrolü daha iyi sağlanır ve her bileşen kendi özel işini yapabilir.

Middleware ile yapabileceklerinizden bazıları şunlardır:

  • -İstekleri izlemek ve kontrol etmek
  • -Güvenlik doğrulamaları eklemek
  • -Performans analitiği sağlamak

Middleware Nasıl Çalışır?

.NET Core MVC’de Middleware, bir pipeline (boru hattı) mantığıyla çalışır. İstek geldiğinde, bu pipeline boyunca her bir Middleware sırasıyla çalışır. Her Middleware, isteği bir sonrakine iletir ya da kendisi yanıt oluşturur. Yani, uygulamanızda hangi Middleware’in ne zaman çalışacağı önemlidir.

Middleware
Nedir?

Örnek olarak, bir loglama Middleware’i ekleyelim:


 app.Use(async (context, next) =>
        {
            Console.WriteLine("Bir istek alındı: " + context.Request.Path);
            await next.Invoke();
        });


Bu örnekte, gelen her isteğin yolu konsola yazdırılır ve ardından istek pipeline’daki bir sonraki Middleware’e gönderilir. Bu basit yapı, gerektiğinde isteğin tüm işleyişini izlemenize olanak tanır.

Middleware
Nedir?

.NET Core MVC’de Middleware Kullanımı

Middleware’leri .NET Core MVC’de Configure metodunda ekleyebilirsiniz. Startup.cs dosyasının Configure metodu, uygulamanın Middleware sıralamasını belirlediğiniz yerdir. İşte birkaç yaygın kullanılan Middleware:

  1.  Authentication Middleware: Kimlik doğrulama işlemleri için kullanılır.
  2.  Exception Handling Middleware: Hataları yakalayıp düzgün bir yanıt gösterir.
  3.  Static Files Middleware: Statik dosyaları (CSS, JS vb.) istemcilere sunar.

İşte basit bir Startup.cs dosyasındaki örnek yapı:


public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }
       
            app.UseStaticFiles();
            app.UseRouting();
            app.UseAuthorization();
       
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }


Middleware İle Trafiği Yönetme

Middleware, uygulamanızın trafiğini yönetmek ve her isteği kontrollü bir şekilde işlemeye almak için harika bir araçtır. Örneğin, yoğun bir web uygulamasında rate limiting (istek sınırlama) uygulayarak sunucunuzu koruyabilir ya da belirli durumlarda kullanıcıları otomatik olarak bilgilendirebilirsiniz.

Bir Middleware ekleyerek kolayca trafiği kontrol altına alabilirsiniz.

Middleware
Nedir?

.NET Core MVC’de Middleware, uygulamanızın arka plandaki kahramanı olarak her isteğin nasıl işleneceğini yönetir. Bu güçlü yapı sayesinde, uygulamanızda güvenlikten performansa birçok alanda düzenlemeler yapabilir, uygulamanızın daha kontrollü ve kullanıcı dostu olmasını sağlayabilirsiniz. Unutmayın, Middleware ile doğru bir yapı kurduğunuzda, uygulamanızın başarısında büyük bir fark yaratabilirsiniz.