Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 5163|Răspunde: 5

[.NET Core] ASP.NET Nucleu (18) Personalizează un cache simplu de ieșire OutputCache

[Copiază linkul]
Postat la 2023-5-7 21:42:06 | | | |
Cerințe: Să ai unul în .NET FrameworkOutputCacheAttributeAceastă caracteristică (care este folosită pentru a marca metoda de operare a stocării în cache a ieșirii) stochează date frecvent accesate și rare schimbate în memorie și generează direct conținut de răspuns, ceea ce poate îmbunătăți performanța concurenței site-ului și reduce presiunea asupra serverului și bazei de date. Această funcție a fost adăugată doar în .NET 7.





ASP.NET Middleware-ul cache-ului de ieșire în Core:Autentificarea cu hyperlink este vizibilă.

Principiul cache-ului de ieșire: fiecare cerere determină mai întâi dacă există în cache, dacă nu există, scrie conținutul răspunsului în cache și apoi transmite răspunsul; dacă cache-ul există, răspunsul de ieșire de date este obținut direct din cache. prin cache de ieșireReducerea interogărilor bazei de date, reducerea unor operații logice și preluarea direct din cache îmbunătățesc atât concurența, cât și răspunsul

Deoarece nu există o funcție OutputCacheAttribute în .NET 6, putem implementa noi înșine un cache simplu de ieșire.


În absența unui cache de ieșire, rezultatele testului de stres sunt următoarele (Baza de date a proiectului este conectată la serverul din Hong Kong):



Rezultatele testului de stres: Doar 10 concurențe pe secundă permise (transfer lent în baza de date).

Pentru a încerca să adaugi un cache de ieșire, mai întâi creează o nouă funcție OutputCacheAttribute, codul este următorul:

Creează un nou middleware OutputCacheMiddleware pentru a bloca cererea, iar codul este următorul:

Adaugă middleware-ul UseOutputCacheExtensions la Program.cs cu următorul cod:

În final, adaugă această funcție în metoda controllerului cu următorul cod:

Din nou, prin testarea la presiune, acest lucru se poate realizaPeste 10.000 de concurențe pe secundă, așa cum se arată în figura de mai jos:

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



Instrumentul Cassowary pentru testarea solicitărilor HTTP
https://www.itsvse.com/thread-10557-1-1.html
(Sfârșit)




Precedent:[Întoarce]. NET 8 a adăugat recent tipuri de înaltă performanță
Următor:Se folosesc canalele de coadă de înaltă performanță .NET Core
 Proprietarul| Postat la 2023-5-7 21:50:45 |

recenzie

ASP.NET Core (17) integrează analiza performanței aplicațiilor MiniProfile
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Nucleu (16) Dependent de injectarea serviciilor dinamice de înregistrare
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) folosește HttpClient pentru a trimite cereri HTTP
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (paisprezece) se bazează pe captcha-ul imaginii SkiaSharp
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII) pentru a determina dacă este o cerere Ajax sau nu
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (douăsprezece) front-end JS, bundling și compresie CSS
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET ruta Core (XI) pentru endpoint adaugă middleware pentru a afișa toate serviciile DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Explicație detaliată a priorităților de configurare în Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Explicație detaliată a middleware-ului Middleware din Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Explicație detaliată a Middleware-ului de bază
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET prăpastie a parametrilor impliciti ai interfeței Swagger în Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core (7) Analiză aprofundată a codului sursă al framework-ului
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI obține manual metoda de injectare a obiectelor
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (cinci) se bazează pe tranzacții distribuite CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Filtrul Core(4) validare unificată a modelului ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Crearea dinamică a instanțelor folosind ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Nucleu (2) Repornește aplicația prin cod
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) folosește cache Redis
https://www.itsvse.com/thread-9393-1-1.html
 Proprietarul| Postat la 2023-5-7 21:53:14 |
Despre asp.net setarea de dezactivare a golului cache-ului OutputCache
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Configurarea parametrilor web.config a cache-ului OutputCache
https://www.itsvse.com/thread-4917-1-1.html

mvc cache utilizarea corectă a proprietății OutputCache VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
Postat la 2023-5-8 09:37:41 |
Învață să înveți
Postat la 2023-5-17 10:37:28 |
Cod de stare HTTP: 204 Fără conținut

204 Fără conținut: Serverul a procesat cu succes cererea, dar nu a returnat nimic.

Scrierea în corpul răspunsului este invalidă pentru răspunsurile cu cod de stare 204.
 Proprietarul| Postat la 2023-6-22 13:20:52 |
Proprietatea HttpRequest.BodyReader:https://learn.microsoft.com/zh-c ... prequest.bodyreader

Proprietatea HttpResponse.BodyWriter:https://learn.microsoft.com/zh-c ... response.bodywriter
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com