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

Görünüm: 5163|Yanıt: 5

[.NET Core] ASP.NET Core (18) Basit bir OutputCache çıkış önbelleğini özelleştirin

[Bağlantıyı kopyala]
2023-5-7 tarihinde 21:42:06 tarihinde yayınlandı | | | |
Gereksinimler: .NET Framework'te bir tane bulundurunOutputCacheAttributeBu özellik (çıktısını önbellekleme yöntemini işaretlemek için kullanılır) sık erişilen ve nadiren değişen verileri bellekte saklar ve yanıt içeriğini doğrudan çıkarır; bu da web sitesinin eşzamanlılık performansını artırabilir ve sunucu ile veritabanı üzerindeki baskıyı azaltabilir. Bu özellik ancak .NET 7'de eklendi.





ASP.NET Core'da önbellek ara yazılımını çıkar:Bağlantı girişi görünür.

Çıktı önbellekleme prensibi: Her istek önce önbellekte var olup olmadığını belirler, yoksa yanıtın içeriğini önbelleğe yazar ve ardından yanıtı çıkarır; önbellek varsa, veri çıkış cevabı doğrudan önbellekten alınır. Çıkış önbelleği aracılığıylaVeritabanında sorgulama yapmak, bazı mantıksal işlemleri azaltmak ve önbellekten doğrudan getirmek, hem eşzamanlılığı hem de yanıt verebilirliği artırır

.NET 6'da OutputCacheAttribute özelliği olmadığından, basit bir çıktı önbelleğini kendimiz uygulayabiliriz.


Çıkış önbelleği yoksa, stres testi sonuçları aşağıdaki gibidir (Proje veritabanı Hong Kong sunucusuna bağlıdır):



Stres testi sonuçları: Saniyede sadece 10 eşzamanlı izin verilir (veritabanı transferinde yavaş).

Çıkış önbelleği eklemeye çalışmak için önce yeni bir OutputCacheAttribute özelliği oluşturun, kod şu şekildedir:

İsteyi engellemek için yeni bir OutputCacheMiddleware ara yazılımı oluşturun ve kod şu şekildedir:

UseOutputCacheExtensions ara yazılımını aşağıdaki kodla Program.cs ekleyin:

Son olarak, bu özelliği kontrolör yöntemine aşağıdaki kodla ekleyin:

Yine basınç testiyle bu başarı sağlanabilirSaniyede 10.000'den fazla eşzamanlı, aşağıdaki şekilde gösterildiği gibi:

cassowary.exe run -u http://localhost:5222/zh-cn -c 50 -n 100000



HTTP isteği stres testi için Cassowary aracı
https://www.itsvse.com/thread-10557-1-1.html
(Son)




Önceki:[Dön]. NET 8 Yeni Eklenen Yüksek Performanslı Tipler
Önümüzdeki:.NET Core yüksek performanslı kuyruk kanalları kullanılır
 Ev sahibi| 2023-5-7 tarihinde 21:50:45 tarihinde yayınlandı |

eleştiri

ASP.NET Core (17) MiniProfile uygulama performans analizini entegre ediyor
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Core (16) Dinamik kayıt hizmetlerinin enjeksiyonuna bağlı
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV), HTTP istekleri göndermek için HttpClient kullanır
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (on dört) SkiaSharp image captcha'sına dayanmaktadır
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII) ile Ajax talebi olup olmadığını belirlemek için
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (on iki) ön uç JS, CSS paketleme ve sıkıştırma
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Core (XI) uç nokta rotası, tüm DI servislerini görüntülemek için middleware ekler
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Core(10)'daki Konfigürasyon önceliklerinin ayrıntılı açıklaması.
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Core'un Middleware ara yazılımının ayrıntılı açıklaması (9).
https://www.itsvse.com/thread-9647-1-1.html

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
 Ev sahibi| 2023-5-7 tarihinde 21:53:14 tarihinde yayınlandı |
asp.net OutputCache önbellek temizleme devre dışı bırakma ayarı hakkında
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET OutputCache önbellek web.config parametre yapılandırması
https://www.itsvse.com/thread-4917-1-1.html

mvc önbelle OutputCache özelliği VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
2023-5-8 09:37:41 tarihinde yayınlandı |
Öğrenmeyi öğren
2023-5-17 10:37:28 tarihinde yayınlandı |
HTTP durum kodu: 204 İçerik Yok

204 İçerik Yok: Sunucu talebi başarıyla işledi ancak hiçbir şey geri dönmedi.

Durum kodu 204 olan yanıtlar için yanıt bedenine yazmak geçersizdir.
 Ev sahibi| 2023-6-22 13:20:52 tarihinde yayınlandı |
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