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

Görünüm: 45031|Yanıt: 1

[ASP.NET] ASP.NET Core'un Middleware ara yazılımının ayrıntılı açıklaması (9).

[Bağlantıyı kopyala]
2021-5-12 tarihinde yayınlandı 11:21:52 | | | |
Middleware, istek ve yanıtları işlemek için bir uygulama boru hattı haline getirilen bir yazılım türüdür. Her bileşen:
  • İsteği boru hattındaki bir sonraki bileşene iledip iletmeyeceğinize karar verin.
  • İş, boru hattındaki bir sonraki bileşenden önce ve sonra yapılabilir.
Talep delegasyonu, bir istek boru hattı oluşturmak için kullanılır. Her HTTP isteğini yönetmek için delegeleri talep edin.

Belge:Bağlantı girişi görünür.

Eleştiri:
ASP.NET Core Middleware'in ayrıntılı açıklaması
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET Core(8)'deki Swagger arayüzünün varsayılan parametrelerinin bir yuvası.
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core (7) Framework kaynak kodunun derinlemesine analizi
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI, nesneleri enjekte etme yöntemini manuel olarak elde eder
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (beş) CAP dağıtık işlemlere dayanmaktadır
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filtresi birleşik ModelState model validasyonu
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) ActivatorUtilities kullanarak dinamik örnekler oluşturun
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Çekirdek (2) Uygulamayı kodla yeniden başlat
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) Redis önbellekleme kullanır
https://www.itsvse.com/thread-9393-1-1.html
ASP.NET Core MiddlewareMiddleware, singleton modelinde kayıtlıdır, yani uygulama sadece bir kez oluşturulur ve yapıcı baştan sona yalnızca bir kez başlatılır.

Öncelikle, aşağıdaki kodla yeni bir TestMiddleware ara yazılımı oluşturalım:


Başlatma dosyasının Configure yöntemine aşağıdaki şekilde kayıt yapın:

Middleware, doğrudan yanıt taleplerini yakalıyor

/home/index2 yolu isteğini kesip JSON mesajının bir parçasına doğrudan yanıt vermeye çalışın, kod şöyledir:



Middleware middleware parametre değerlerini geçirir

Bazen, bazı parametre yapılandırmalarını ara yazılıma aktarmamız gerekir, örneğin: alınan adres, yanıt bilgisi vb.

UseMiddleware() yöntemiyle params object[] parametresini middleware'in üreticisine iletebilir; bu, params object[] üzerinden middleware'e herhangi bir sayıda parametre iletebildiğimiz anlamına gelir; tabii ki tip ve middleware'in üretici parametreleri eşleşiyorsa.

Bu kod şu şekilde aktarılabilir:




Middleware middleware değerler arasında aktarılır

Yeni bir Test2Middleware middleware oluşturun, aynı anda birden fazla middleware'i kaydederiz ve sonraki middleware'in önceki middleware'a göre mantıksal işlem yapması gerekir, yani parametreleri middleware'ler arasında aktarmak, kod şu şekildedir:




Middleware OnStarting delegasyona yanıt verdi

Çünkü middleware birden fazla aracı kaydedebiliyor ve birden fazla ara süreçten geçebilir, son ara yazılım ise yanıt vermeden önce bir şey yapmak ister, böylece bir OnStarting delegesi kaydedebilir. Test, HttpResponse.OnStarting(Func) bağlamında başlık <Task>değişikliği gerçekleştirerek geri çağrının hemen ardından cevabın istemciye gönderilmesinden hemen önce gerçekleştirilmesini sağlar.


Kod şöyledir:



(Son)




Önceki:EF "XXXX" ekleme tipine sahip varlıklar başarısız olur çünkü diğerleri...
Önümüzdeki:POI üç yöntem kullanır: HSSF, XSSF, SXSSF
2021-9-22 19:59:27 tarihinde yayınlandı |
Öğrenmeyi öğren...
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