Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 61848|Yanıt: 3

[.NET Core] ASP.NET Core Middleware'in ayrıntılı açıklaması

[Bağlantıyı kopyala]
Yayınlandı 18.09.2019 11:35:59 | | | |
Middleware nedir?

Middleware, istek ve yanıtları işlemek için uygulama boru hatlarına bir araya getirilen yazılımdır. Her bileşen:

  • İsteği boru hattındaki bir sonraki bileşene iledip iletmeyeceğinize karar verin.
  • İş, boru hattındaki bir sonraki bileşen çağrılmadan önce ve sonra yapılabilir.

İstek delegeleri, her HTTP isteğini işleyen bir istek boru hattı oluşturmak için kullanılır.

İstek delegeleri Çalıştır, Harita ve Kullan uzantı yöntemleriyle yapılandırılır. Ayrı bir istek delegesi bir inline anonim yöntemde (inline middleware olarak adlandırılır) veya yeniden kullanılabilir bir sınıfta tanımlanabilir. Bu yeniden kullanılabilir sınıflar ve hatlı anonimleştirme yöntemleri ara yazılım veya ara yazılım bileşenleridir. İstek akışındaki her ara yazılım bileşeni, boru hattındaki bir sonraki bileşeni çağırmaktan ve uygunsa bağlantı kısa devresini çağırmaktan sorumludur.

HTTP modüllerini ara yazılıma taşımak, önceki sürümlerde (ASP.NET) ASP.NET Core ile istek boru hatları arasındaki farkı açıklar ve daha fazla ara yazılım örneği sunar.

IApplicationBuilder kullanarak bir middleware pipeline oluşturun

ASP.NET Core istek süreci, aşağıdaki şekilde gösterildiği gibi bir dizi istek delegesinden oluşur (yürütme süreci siyah ok işaretini takip eder):

Her delege, bir sonraki delegeden önce ve sonra eylemler gerçekleştirebilir. Delege ayrıca talebi bir sonraki delegeye iletmemeye karar verebilir; bu da istek boru hattında kısa devre olarak adlandırılır. Kısa devre genellikle gereksiz işleri önlediği için tercih edilir. Örneğin, statik dosya ara yazılımı, statik bir dosya talebi döndürüp boru hattının geri kalanını kısa devre yapabilir. İstisna yönetimi delegeleri, sonraki boru hatlarında istisnaları yakalamak için pipeline'ın erken aşamasında çağrılmalıdır.

En basit şey muhtemelen tüm talepleri yönetecek bir delege ASP.NET Core uygulaması kurmaktır. Bu senaryo, gerçek istek pipeline'ı içermez. Bunun yerine, her HTTP isteği için anonim bir yöntem çağrılır.


İlk uygulama. Çalıştır delege pipeline'ı sonlandırır.

Böyle bir kod var:




Tarayıcı üzerinden erişildiğinde, gerçekten ilk uygulamada olduğu anlaşılıyor. Çalıştırma işlemi pipeline'ı sonlandırır.



Uygulama ile birden fazla isteği devredebilirsiniz. Kullanım birbirine bağlıdır. Bir sonraki parametre, boru hattındaki bir sonraki delegeyi temsil eder. (Unutmayın, bir sonraki parametreyi çağırmadan pipeline'ı sonlandırabilirsiniz.) Genellikle aşağıdaki örnekte gösterildiği gibi, bir sonraki delegasyondan önce ve sonra işlemler yapabilirsiniz:

Aşağıdaki gibi sonuçlara erişmek için tarayıcı kullanmak



Talep delegesinin yürütme emrinin yukarıdaki akış şemasını takip ettiği görülebilir.

Not:

Yanıt müşteriye gönderildikten sonra, bir sonraki kişiyi aramayın. Invoke。 Yanıt başladıktan sonra, HttpResponse'taki değişiklikler bir istisna oluşturur. Örneğin, yanıt başlıkları, durum kodları vb. ayarlamak bir istisna oluşturur. Bir dahaki aramadan sonra yanıt gövdesini yazın.

anlaşmanın ihlaline yol açabilir. Örneğin, içerik-uzunluğunda tanımlanan içerik uzunluğundan daha fazla yazmak.

Duyarlı içerik biçimlendirmesi bozulmuş olabilir. Örneğin, bir CSS dosyasına bir HTML dipleri yazabilirsiniz.

HttpResponse.HasStarted, yanıt başlığının gönderilip gönderilmediğini ve/veya gövdenin yazıldığını göstermek için faydalı bir ipucudur.


Yerleşik ara yazılım

ASP.NET Core aşağıdaki ara yazılım bileşenleriyle birlikte gelir:


MiddlewareAçıklama
DoğrulamaKimlik doğrulama desteği mevcuttur
CORSAlanlar arası kaynak paylaşımını yapılandırma
Yanıt ÖnbelleklemeÖnbellek yanıt desteği mevcuttur
Tepki SıkıştırmasıYanıt sıkıştırmasını desteklemek
Rotaİstek yönlendirmesini tanımlama ve kısıtlama
OturumKullanıcı oturum yönetimi sağlar
Statik DosyalarStatik dosya ve dizin taraması desteği sağlar
URL Yeniden Yazma MiddlewareURL'leri yeniden yazmak ve yönlendirme desteği istemek için kullanılır





Önceki:Baidu'nun yeni ürünü! One Moment Album şu anda 1 milyon kullanıcı sınırsız depolama talep edebiliyor:
Önümüzdeki:İngilizce Seviye 4 ve 6 Dinleme ve Lisansüstü Giriş Sınavı İngilizce Kelime Yeniden Sınavı Sözlü Veri Paylaşımı
Yayınlandı 22.09.2021 20:47:00 |
Öğrenmeyi öğren...
Yayınlandı 10.10.2021 18:55:42 |
Öğrenmeyi öğrenin, bu makale bir üyelik açtı
Yayınlandı 10.10.2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com