ASP.NET Core’da Middleware yapısı, uygulama çalıştığında bir istemciden (Client) gelen taleplerin (Request) istemciye geri döndürülmesi (Response) sürecindeki işlemleri gerçekleştirmek ve sürece yön vermek için kullanılmaktadır.
Genellikle bir pipeline (işlem hattı) olarak düzenlenirler ve her middleware bileşeni, zincirde bir sonraki bileşene isteği iletebilir veya işlemi durdurabilir. Middleware bileşenleri genellikle Startup sınıfında tanımlanır ve yapılandırılır. Configure metodunda, IApplicationBuilder aracılığıyla middleware bileşenleri sırayla eklenir. Bu bileşenler, örneğin güvenlik, oturum yönetimi, hata işleme, statik dosya sunumu gibi çeşitli işlevleri yerine getirebilir.
Örneğin, bir middleware bileşenini yapılandırmak için aşağıdaki gibi bir kod kullanılabilir:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
Bu kod parçasında, UseDeveloperExceptionPage, UseStaticFiles, UseCookiePolicy, UseRouting, ve UseAuthorization gibi çeşitli middleware bileşenleri eklenmiş ve sıralanmıştır. Her biri, HTTP isteklerini işleme biçimini etkiler ve kendi işlevselliğini ekler.
Bu yapılandırma, gelen isteklerin uygulama tarafından nasıl işleneceğini ve hangi sırayla işleneceğini belirler. Örneğin, UseDeveloperExceptionPage middleware'i geliştirme ortamında daha ayrıntılı hata sayfaları sunarken, UseStaticFiles middleware'i statik dosyaları sunmak için kullanılır.
.NET Core'da middleware kullanımı, uygulamanın modüler ve esnek bir şekilde yapılandırılmasını sağlar ve farklı işlevler için kolayca genişletilebilir bir yapı sunar.
