ASP.NET Core Middleware Nedir ve Nasıl Kullanılır?

ASP.NET Core Middleware Nedir ve Nasıl Kullanılır?

ASPNET Core Middleware, sunucu tarafı uygulamalarında son derece önemli bir bileşendir Bu makalede, ASPNET Core Middleware'in ne olduğunu, nasıl kullanılabileceğini ve uygulamalarınızda nasıl faydalar sağlayabileceğini öğreneceksiniz Hadi yazılımevinet'te makaleye bir göz atın!

ASP.NET Core Middleware Nedir ve Nasıl Kullanılır?

ASP.NET Core güçlü bir web uygulama framework'üdür ve bu framework'ün içinde yer alan middleware'ler, web uygulamalarındaki işlemleri daha da geliştirebilir. Peki ASP.NET Core Middleware nedir? Genel hatlarıyla, middleware'ler, isteğin girişinden çıkışına kadar geçtiği yollarda işlem yapan ve bu işlemleri düzenleyen ara yazılımlardır.

ASP.NET Core Middleware, HTTP istek ve yanıt işlemlerini düzenlemek, bu işlemlere ek olarak, güvenlik, loglama, veri sıkıştırma, önbellekleme ve oturum yönetimi gibi wes uygulamalarındaki diğer işlemler için de bir araçtır. Bu middleware'ler, çok sayıda farklı yolla yazılabilir ve bu sayede uygulamanın işlevselliği büyük oranda geliştirilebilir.

Middleware'lerin kullanımı oldukça basittir: yapılandırmanız gereken tüm middleware'leri, Startup.cs dosyasının Configure metodunda kurmanız gerekir. Bu doğru yapılandırıldığında, ASP.NET Core'un HTTP isteklerini gerçekleştirmek için önceden ve/veya sonradan işlenen tüm kodların doğru bir şekilde çalışmasını sağlayabilirsiniz. Bu da kodunuzun daha temiz, düzenli ve daha az hata içeren bir hale gelmesine yardımcı olacaktır.

Middleware'ler, genel olarak Next ve Map kullanımları ile birbirinden ayrılır. Next kullanımı, middleware'lerin bir sonraki işlemi yapmalarına izin verirken, Map kullanımı, web uygulamanızda belli özelliklerin çalıştırılması durumunda kullanılır. Bu özellikleri yukarıda sayılan işlemlerden bazıları olabilir.

ASP.NET Core Middleware'ler, Authorization, Exception Handling ve Cors Middleware örnekleri gibi birçok örneği içinde barındırır. Middleware'ler, bir web uygulamalarındaki en önemli özelliklerden biridir ve doğru kullanımı, web uygulamalarımızın performansını ve işlevselliğini iyileştirmek için harikadır.


Middleware Nedir?

ASP.NET Core, uygulamalarda kullanılan bir middleware yapısı sunar. Middleware, uygulamanın gelen istekleri işleyen ve yanıt veren katmanlarıdır. Bu istekler, middleware tarafından alınır ve daha sonraki middleware'lara veya uygulama içindeki son hedefe yönlendirilir. Bu yapı, kod tekrarını ve işleyiş mantığını azaltırken, uygulamanın ölçeklenebilirliğini artırır.

Middleware yazılımı, uygulamanın temel yapısını oluşturur ve her bir middleware katmanı farklı bir işlevi yerine getirir. Örneğin, bir middleware katmanı, gelen istekleri doğrularken, diğeri veritabanı bağlantıları oluşturur. Tüm katmanlar, isteklerin işlenmesi ve yanıt verilmesine yardımcı olmak için bir arada çalışır.


Yazım ve Kullanımı

ASP.NET Core Middleware, bir web uygulamasının gelen istekleri nasıl işleyeceğiyle ilgili işlevlere sahip ara yazılımlardır. Bu ara yazılımlar, uygulama giriş öncesi veya sonrası seviyesinde çalışarak gelen istekleri işleyebilirler. Middleware kullanarak istekleri doğrudan Application veya Endpoint'e yönlendirmeden önce, istekleri uygulamanın işleyebileceği şekle getirmek mümkündür.

Bir Middleware yazabilmek için öncelikle bir Func<HttpContext, Func<Task>, Task> imzasına sahip bir metoda ihtiyacınız vardır. Bu metod, bir HttpContext ve takip eden bir middleware'e sahip bir Func<Task> içerir. Bu metot, istekleri işleyen ve gelen istekleri oluşturan yerdir. Gelen istek için butonlar, parametreler, kimlik bilgileri vb. verileri de burada toplayabilirsiniz.

Bir Middleware uygulamasının bir sonraki Middleware’a geçmesi için next kullanılmalıdır. Ayrıca, yalnızca gelen isteği işleyen ve uygulamanın bir sonraki seviyesine iletilecek olanın Middleware sınıfına dahil edilmesi gerektiğini unutmayın. Map() metodu veya Use() metodu kullanılarak Middleware sınıfını uygulamaya ekleyebilirsiniz.

Ayrıca, Middleware sırasının önemli olduğunu unutmayın. İstek sırasında önce yazılan Middleware sınıfları önceliklidir. UseStaticFiles() Middleware'ın diğer Middleware'lardan önce olması gerektiği bir örnektir. Çünkü bu Middleware, statik dosyalar için kestirimci bir servis sunar.


Next Kullanımı

ASP.NET Core Middleware kullanımında sıklıkla karşılaşılan bir terim olan 'Next' aslında middleware zincirinin devamını sağlayan bir fonksiyondur. Next fonksiyonu, middleware işlevlerinin sırası ile gerçekleştirilebilmesini sağlar ve yolu aracılığıyla istek zincirinin sonraki middleware fonksiyonuna iletir.

Next fonksiyonu ile middleware işlevlerinin zincirleme olarak çalışması mümkündür. Bir middleware işlevi tarafından elde edilen sonuç, bir sonraki middleware işlevi tarafından kullanılabilir. Bu şekilde, işlem zinciri boyunca istek düzenlenir ve her bir middleware işlevi, isteği güncellemekte veya işlemekte kullanılabilir.

Next fonksiyonunun bir kullanım örneği:

```public async Task Invoke(HttpContext context, ILogger logger){ logger.LogInformation("Middleware çalıştı"); await _next.Invoke(context); logger.LogInformation("Middleware bitti");}```

Burada HttpContext ve ILogger gibi parametreler alınarak işlev gerçekleştiriliyor. Verilen örnek, Invoke işlevinin girişinde bir log kaydı oluşturduktan sonra _next fonksiyonunu kullanarak middleware zincirinin devamını sağlıyor ve çıkışta bir başka log kaydı oluşturuyor.

Bu sayede, middleware arasında bir zincirleme işlem yapılmış oluyor.

Overall, ASP.NET Core Middleware kullanımında Next fonksiyonu, middleware işlevlerinin zincirleme olarak çalışmasını ve istek zincirinin sonraki middleware fonksiyonuna iletmesini sağlar.


Next Kullanım Örnekleri

ASP.NET Core Middleware, web uygulamalarının isteklerini işlemenin yer aldığı bir yapıdır. Middleware, gelen isteklerin herhangi biri üzerinden geçer. İşlem tamamlandıktan sonra yanıt, geri yönden işleme girerek tamamlanır. Next kullanımı, istek yönlendirmeleri için kullanılır. Örneğin, bir istek için bir sayfaya girmek yerine bir sonraki kapa gidin. Bu, bir uygulama komponentinin işlemleri yerine geçer.

Next kullanımında, bir sonraki middleware işleminin çağrılması için Use metodu kullanılır. Bir uygulama için bir ana sayfa düşünün ve middleware daha sonra Authorization Middleware tetiklenecek olsun. Use metodu, parametre olarak bir sonraki işlemi alır. Çağrıdan önce, Request nesnesi hazır olur ve yanıtın oluşması için Response nesnesi hazırlanır. Sonraki middleware işlemi tamamlandıktan sonra, sonuçları son bir işlem olmadığı sürece işleme devam eder.

Kısacası, Next kullanımı middleware işlemlerinde istekleri yönlendirmek için kullanılır. Bir sonraki middleware işlemi çağrıldığında, istek önceden yapılandırılmış şekilde ilerler. Middleware işlemi tamamlandıktan sonra, istek geri dönüşümlü bir şekilde işlenir.

Bir başka örnekte, web uygulamasında oturum açma sırasında Next kullanılabilir. Kullanıcı bilgileri doğrulanır ve eğer doğruysa, bir sonraki kapıya yönlendirilir. Kullanıcı adı ve şifresi doğru değilse, hata mesajı gönderilir ve işlem durdurulur.

Sonuç olarak, Next kullanımı, ASP.NET Core Middleware için önemli bir bileşen gibidir. İstek yönlendirmeleri için kullanılan bu yapılar uygulamanın nasıl çalıştığına dair detaylı bir anlayış sağlar. Bu nedenle, geliştiricilerin bu kavramı anlaması ve kullanması önemlidir.


Next Kullanım Hataları

ASP.NET Core Middleware'in Next özelliği kullanılırken bazı hatalarla karşılaşılabilir. Bu hataların nedeni, Next özelliğinin doğru bir şekilde kullanılmamasıdır. İşte sıklıkla yapılan Next kullanım hataları ve bunların çözümleri:

  • Hata: Next çağrısı yapılmadan sonraki middleware'ler çağrılmaz.
  • Çözüm: Next metodunu çağırarak sonraki middleware'leri çağırmalısınız.
  • Hata: Next çağrısı birden fazla kez yapılırsa hata verir.
  • Çözüm: Next metodunu sadece bir kez çağırmalısınız. Daha fazla çağrı, hata almanıza sebep olacaktır.
  • Hata: Middleware zinciri sonuna ulaşıldığında ve Next çağrısı yapılmadığında hata alınır.
  • Çözüm: Middleware zincirinin sonuna ulaşıldığında, Next çağrısı yapmayın.

Bu hataların yanı sıra, bazen hatalar farklı kod yapılarından kaynaklanabilir. Eğer hata devam ediyorsa, kodunuzu yeniden kontrol etmek ve farklı bir yaklaşım denemek isteyebilirsiniz.


Map Kullanımı

ASP.NET Core Middleware'ın en önemli özelliklerinden biri olan Map kullanımı, URL yapılandırması ile ilgilidir. Map, URL'lerin yönlendirmesini ve işlenmesini yöneten özelliklerden biridir. Map kullanarak URL'lerinizi yapılandırabilir ve gelen isteklerin nasıl yönlendirileceğini kontrol altına alabilirsiniz.

Map kullanımı için örnek bir kod satırı şu şekildedir:

app.Map("/yonlendirme", HandleMapTest);

Bu kod, "/yonlendirme" URL'si için HandleMapTest adlı bir yönetim işlevini atar. Map kullanarak birden fazla URL yönlendirmesi yapabilmeniz mümkündür. Bu özellik, dinamik URL yapılandırması ve yönlendirmesi istenildiğinde oldukça faydalıdır.

Map kullanımı esnasında dikkat edilmesi gereken noktalardan biri de, URL'lerin benzersiz olmasıdır. İki farklı URL aynı yönlendirmeye sahip olamaz. Bu durumda, bir hata mesajı alabilirsiniz. Bu hataların çözümü ise, URL yapılandırmasını tekrar gözden geçirerek benzersiz bir yapı oluşturmaktır.

Map kullanırken, özellikle dinamik URL yapılandırmalarında, yönlendirme yaparken birden fazla seçenekleri kullanabilirsiniz. Bu seçenekler arasında, statik dosyalara erişmek için UseStaticFiles() veya görüntüleri servis etmek için UseDirectoryBrowser() seçenekleri bulunmaktadır.

Tüm bu özellikler, ASP.NET Core Middleware ile daha verimli bir web uygulama geliştirmenize katkı sağlamaktadır. Map, URL yapılandırmasını yöneterek web uygulamalarınızın daha düzenli ve anlaşılır bir yapıya sahip olmasını sağlar.

Genel olarak, Map kullanımı, URL yönlendirmesi yapmanın en etkili yollarından biridir. İleri düzey kullanımı daha detaylı özellikler sunsa da, temel seviyede bile oldukça verimli sonuçlar sağlar.


Map Kullanım Örnekleri

ASP.NET Core middleware'ında Map kullanımı oldukça önemlidir çünkü bu middleware ile URL'lerin belirli bir desenle eşleşmesi ve buna uygun bir işlem yapılması sağlanır. Map kullanım örnekleri hakkında daha ayrıntılı bilgi edinmek isterseniz, burada örnekler verilmiştir.

Örnek 1: Statik Dosyaların SunumuMapToFileMiddleware ile birlikte çalışan MapMiddleWare kullanarak, statik dosyaların sunumunu kolaylıkla yapabiliriz. Böylece, belirtilen URL desenleriyle eşleşen dosyalar aracılığıyla istemcilere sunulabilir. Aşağıdaki kod bloğunda, index.html dosyasının "wwwroot" klasöründen okunması sağlanır.

public void Configure(IApplicationBuilder app){    app.UseStaticFiles();

app.Map("/staticfiles", builder => { builder.UseMiddleware("/wwwroot/"); });

app.UseMvc();}

Örnek 2: YönlendirmeASP.NET Core, URL'leri belirli bir desene göre yeniden yönlendirmek için Map kullanımını kullanan middleware'i de destekler. Bunu yapmak için, bir "redirectTo" bileşeni ile özel bir middleware'i ayarlayabilirsiniz. Aşağıdaki kod bloğu, "/welcome" URL'sini "/user/login" adresine yönlendirir.

public void Configure(IApplicationBuilder app){    app.UseMvc(routes =>    {        routes.MapRoute("welcome", "welcome", new {controller = "User", action = "Login"});        routes.MapRoute("login", "user/login", new {controller = "User", action = "Login"});

routes.MapMiddlewareRoute("/welcome", appBuilder => { appBuilder.UseMiddleware("/user/login"); }); });}

Örnek 3: Birden Fazla Middleware KullanımıBazen, belirli bir URL için birden fazla middleware'in kullanılması gerekebilir. Bunu yapmak için, Map kullanımı kullanarak middleware zincirini oluşturabilirsiniz. Aşağıdaki örnekte, "/api/myservice" URL'sine hizmet vermek için hem SwaggerUI hem de SwaggerJSON middleware'in sağlanması gösterilmiştir.

public void Configure(IApplicationBuilder app){    app.UseSwagger();    app.UseSwaggerUI();

app.Map("/api/myservice", builder => { builder.UseSwagger(); builder.UseSwaggerUI();

builder.Run(async context => { await context.Response.WriteAsync("My Service is Running."); }); });

app.UseMvc();}

Yukarıdaki örnekler, başlıca Map kullanım örnekleridir. Bu örnekler sayesinde, Map kullanımının ne kadar işlevsel bir araç olduğunu anlamak mümkündür. Ancak, örneklerin farklı amaçları ve kod yapısı olduğundan, her örnek kullanımının kendi içerisinde özel bir yazım ve sonuç gerektirmektedir.


Map Kullanım Hataları

Map Middleware, ASP.NET Core'da oldukça kullanışlı ve önemli bir ara yazılımdır. Ancak bazı durumlarda, bu yazılımın kullanımı sırasında bazı hatalar meydana gelebilmektedir. Bu yazımızda, Map Middleware kullanımında sıkça yapılan hataların çözümlerine yer vereceğiz.

Map Middleware'i kullanırken karşılaşılan hatalardan biri, hizalama hatasıdır. Map Middleware, Route Middleware'den farklı olarak app.Use() fonksiyonunun çıktısındaki URL önekine göre çalışır. Bu nedenle, URL öneki hatalı veya farklı belirlendiyse, yanlış yönlendirmeler oluşabilir. Bu sorunun çözümü için, URL öneklerinin doğru bir şekilde belirlenmesi gerekmektedir.

Bir diğer sıkça yapılan hata ise MapWhen() metodu kötüye kullanımıdır. Map Middleware, MapWhen() fonksiyonu ile birlikte kullanılarak, gelen isteklerin bir filtre ile modifiye edilmesi sağlanabilir. Ancak, işlevin kötüye kullanımında, oluşturulan filtreler yanlış ve gereksiz olabilir. Bu durumda, filtrelerin tekrar gözden geçirilmesi ve doğru bir şekilde değiştirilmesi gerekmektedir.

Map Middleware kullanımında bir başka hata da, birden fazla MapWhen() fonksiyonunun yanlış kullanılmasıdır. Birden fazla MapWhen() metodu, gelen isteklere uygulanacak birden fazla filtre oluşturabilir. Ancak, bu fonksiyonların yanlış kullanımı, gereksiz yere daha fazla CPU kaynağı tüketir. Bu sorunu çözmek için, filtrelerin optimize edilmesi ve azaltılması gerekmektedir.

Son olarak, Map Middleware kullanımında yapılabilecek bir başka hata da, hatayı takiben yetersiz kaynak yönetimi sorunu yaşamaktır. Gelen isteklerin yönlendirilmesi sırasında, hatalar meydana gelebilir ve bu hatalar yeterli kaynak yönetimi yapılmazsa, uygulamanın çökmesine neden olabilir. Bu sorunun çözümü için, uygun bir hata yönetim sistemi kullanarak, hataların takip edilmesi ve sorunların belirlenmesi gerekmektedir.

ASP.NET Core kullanıcılarının, Map Middleware kullanım sırasında düzenli olarak bu hataları takip etmesi ve sorunları gidermesi önerilir. Bu şekilde, uygulama performansı en üst seviyede tutulabilir ve hataların önüne geçilebilir.


ASP.NET Core Middleware Örnekleri

ASP.NET Core Middleware, birçok farklı durum için kullanılan hazır bileşen paketidir. Bu hazır bileşenler arasında hatayı yönetme, kimlik doğrulama ve yetkilendirme, YAML formatında otomatik belge oluşturma ve hatta uzun süren çıktıları belleğe alma gibi fonksiyonlar yer alır. Bu özelliklerin çoğu, web uygulamaları geliştirirken sık sık karşılaşılan sorunları çözmek için tasarlanmıştır.

Bazı senaryolarda, mevcut hazır middleware bileşenleri istediğimiz sonucu vermeyebilir veya ihtiyacımız olan özel işlevi tam olarak yerine getiremeyebilir. Bu durumda özel middleware yazmaya ihtiyacımız olabilir. ASP.NET Core Middleware kütüphanesi, uygulamalarımız tarafından kullanılabilecek özel middleware yazmamıza olanak tanır.

ASP.NET Core Middleware'ın en yaygın kullanım örnekleri arasında Authorization Middleware, Exception Handling Middleware ve Cors Middleware yer almaktadır. Authorization Middleware, kimlik doğrulama ve yetkilendirme işlemlerini yönetmek için kullanılır. Exception Handling Middleware, isteklerde ortaya çıkan hataları yakalayarak uygun bir hata sayfası gösterir. Cors Middleware, farklı sunuculardan gelen istekleri işleme ve yanıt verme işlemi için kullanılan bir middleware'dir.

ASP.NET Core Middleware kullanım örnekleri genellikle, kütüphanenin web uygulamalarımız için hazırlanmış middleware'lerinin kaynak kodlarına sahiptir. Bu kaynak kodları kullanarak, middleware'lerin çalışma prensipleri ve kullanım örnekleri konusunda daha detaylı bilgilere sahip oluruz.

ASP.NET Core Middleware örnekleri, web uygulamalarımızın performans ve güvenliği için son derece önemlidir. Bu örnekler, web uygulamalarımızın istek ve cevaplarında kullanabileceğimiz birçok hazır bileşen sunar. Bunların yanı sıra, yine ihtiyaca göre özel olarak hazırlanacak middleware'ler de web uygulamalarımızın işlevselliğini artırabilir.


Authorization Middleware

ASP.NET Core Automation Middleware, bir web sayfasına gelen isteklerde yetkilendirme yapmak için kullanılan bir ara yazılımdır. Bu ara katman, gelen isteklerin kimliğini doğrular ve geçerli bir kullanıcı olduğunu doğruladığında isteğe izin verir. Yetkilendirme Middleware, bir anahtar kelime olarak kullanılır ve ASP.NET Core uygulamalarında güvenlik sağlamak için çok önemlidir.

ASP.NET Core Authorization Middleware, bir web projesinde yetkilendirme işlemi yapmak için oldukça kullanışlıdır. Özellikle, Kullanıcıların kimliğini doğrulamak için birçok farklı giriş yöntemi kullanılabilir. Ancak Authorization Middleware, gereksinim duyulan yetkilendirmeyi yalnızca bir kez yapar.

Bu Middleware, ilgili Configuration method içinde bulunan UseAuthorization() metoduna eklenebilir. UseAuthorization() metodu, yetkilendirme Middleware'ini ve ilgili yönetmelikleri etkinleştirir.

Authorization Middleware, rolleri, talep edilen işlemleri ve kimlik doğrulaması yoluyla kullanıcının yetkilerini belirleyen bir Authorization Policy seti tarafından yönetilir. Bu, kullanıcının belirli bir işlemi yapmasına izin verip vermediğine karar verir.

Bu belirli yapılandırmayı kullanarak, Authorization Middleware, belirli bir kullanıcı veya kullanıcı grubu için erişilebilir farklı sayfaları belirleme yeteneğine sahip olacaktır. Bu, merkezi bir kullanıcı yönetimini sağlayarak, uzun vadede projelerde önemli bir avantaj sağlar.

Authorization Middleware ayrıca, bir web projesinin GET veya POST gibi belirli HTTP metotlarında yetkilendirme yapabilir. HTTP metotlarının yanı sıra, belirli bir Controller için de yetkilendirme yapabilir.

Bu, Authorization Middleware'in bir web projesinde çok kullanışlı bir ara katman olduğunu gösterir. Yukarıda belirtilen özellikleri sayesinde, yetkilendirme işlemini merkezi bir şekilde yönetmek mümkündür. Bu, güvenli bir proje oluşturmak ve sürdürmek için bir olmazsa olmazdır.


Exception Handling Middleware

ASP.NET Core Middleware, web uygulamaları için bir tür yazılım bileşenidir. Bu bileşenler istemci isteklerini ele alır ve yanıtlarını oluşturur. Middleware, bir web uygulamasının kodunda yer alan çok sayıda bağımsız uygulama durumunda kullanılır ve zincirleme halinde çalışır.

Exception Handling Middleware, istisnaları ele almak için hazırlanan bir Middleware örneğidir. Bu işlev, uygulamada meydana gelen bir hata veya beklenmeyen bir durum hakkında bilgi toplamak ve kaydetmek için kullanılır. Exception Handling Middleware, hataları loglamak, yanıtları özelleştirmek ve kullanıcılara hata mesajları göstermek için kullanılabilir.

Bu Middleware, web uygulaması için bir istisna raporu oluşturur ve diğer Middleware bileşenlerine gönderir. İstisnalar, genellikle kullanışlı hata mesajlarına dönüştürülebilir ve kullanıcıya gösterilebilir. Bu sayede, kullanıcılara daha iyi bir deneyim sağlanır ve arka planda oluşan hatalar hakkında bilgi sahibi olurlar.

Exception Handling Middleware, kullanıcıların doğrudan uygulamanın içerisinde oluşan hatalardan etkilenmesini önler. Bu özellik, kullanıcıların uygulamanın verimli bir şekilde çalışmasına devam etmesine yardımcı olur. Exception Handling Middleware, uygulama bazında hataları ele aldığı için uygulamanın dışında yer alan servislere de bağlanabilir.

Bu Middleware, uygulamada bazı hataların göz ardı edilmesini sağlayarak uygulamanın verimli bir şekilde çalışmasını sağlar. Bu sayede, uygulama performansı arttırılır ve kullanıcı deneyimi olumlu yönde etkilenir. Exception Handling Middleware, ASP.NET Core Middleware örneği olarak birçok web uygulaması içinde kullanılabilir.

Bu yazımızda, Exception Handling Middleware'i tanıyarak bu Middleware'in nasıl çalıştığı ve hangi durumlarda kullanılabileceği hakkında bilgiler verildi. ASP.NET Core Middleware, web uygulamalarını optimize etmek için kullanılan bir yazılım bileşenidir ve uygulamanın performansını ve verimliliğini arttırır.


Cors Middleware

Cors Middleware, diğer web uygulamalarına HTTP istekleri yapmanıza izin veren bir ara yazılım parçasıdır. Cross-origin Resource Sharing (Kaynak Paylaşımı) anlamına gelen CORS, web uygulamalarının farklı kaynaklara (örneğin farklı sunucular veya alan adları) istek yapmasına izin verir. CORS tehlikeli olabilecek istekleri engellemek için sunucular arasında bir güvenlik mekanizmasına sahiptir.

Cors Middleware, ASP.NET Core uygulamasında kullanımı kolaydır. İlgili bileşen yalnızca uygulamanızın Startup.cs dosyasına eklenir ve CorsPolicy adı verilen bir nesne ile yapılandırılır. CorsPolicy nesnesi, hangi etki alanlarının, yöntemlerin ve başlıkların uygulama tarafından kabul edilebileceğini belirler.

CorsPolicy Öğeleri Açıklama
Origins İzin verilen kaynakların listesi
Methods Kabul edilen HTTP yöntemlerinin listesi
Headers Kabul edilen başlıkların listesi
ExposedHeaders Gönderilen yanıtta görünecek olan başlıkların listesi
Credentials Kimlik bilgisi doğrulama destekleniyorsa true
MaxAge CORS istekleri için önbellek süresi

Bu ayarları belirleyerek, sunucuların belirli kaynakları diğer kaynaklara açmasını sağlayabilirsiniz. Cors Middleware'in kullanımı, web uygulamanızın diğer kaynaklarla daha iyi çalışmasını sağladığından oldukça önemlidir.

  • İleride CORS kullanırken domain kontrolü yapmak için regex kontrolü koymanız önerilir.
  • Cors kendisini kurmak için ilk OPTIONS isteği, herhangi bir HTTP METODu için kabul edilen yanıt başlıkları, yönerge ve max-age(okunabilir) süresini gösteren bir ilke göster butonu kullanır.
  • CorsOptions nesnesi, AddCors yöntemi aracılığıyla IServiceCollection'a eklenir.