Gyorsítótárazás .NET-keretrendszer alkalmazásokban
A gyorsítótárazás lehetővé teszi az adatok tárolását a memóriában a gyors hozzáférés érdekében. Az adatok ismételt elérésekor az alkalmazások lekérhetik az adatokat a gyorsítótárból ahelyett, hogy az eredeti forrásból kérték volna le őket. Ez javíthatja a teljesítményt és a méretezhetőséget. A gyorsítótárazás emellett elérhetővé teszi az adatokat, ha az adatforrás átmenetileg nem érhető el.
A .NET-keretrendszer gyorsítótárazási funkciókat biztosít, amelyekkel javíthatja a Windows-ügyfél- és kiszolgálóalkalmazások teljesítményét és méretezhetőségét, beleértve a ASP.NET is.
Feljegyzés
A .NET-keretrendszer 3.5-ös és korábbi verzióiban ASP.NET biztosított egy memóriabeli gyorsítótár-implementációt a System.Web.Caching névtérben. A .NET-keretrendszer korábbi verzióiban a gyorsítótárazás csak a System.Web névtérben volt elérhető, ezért függőséget igényelt ASP.NET osztályoktól. A .NET-keretrendszer 4-ben a System.Runtime.Caching névtér webes és nem webes alkalmazásokhoz tervezett API-kat tartalmaz.
Adatok gyorsítótárazása
A névtérben lévő osztályok használatával gyorsítótárazhatja az System.Runtime.Caching adatokat. A névtér gyorsítótárazási osztályai a következő funkciókat biztosítják:
Az egyéni gyorsítótár-implementációk létrehozásának alapjait biztosító absztrakt típusok.
Egy konkrét memóriabeli objektumgyorsítótár-implementáció.
Az absztrakt alap gyorsítótárazási osztály (ObjectCache) a következő gyorsítótárazási feladatokat határozza meg:
Gyorsítótárbejegyzések létrehozása és kezelése.
Lejárati és kizárási adatok megadása.
A gyorsítótárbejegyzések változásaira válaszul létrehozott események aktiválása.
Az MemoryCache osztály az osztály memóriabeli objektumgyorsítótár-implementációja ObjectCache . A legtöbb gyorsítótárazási feladathoz használhatja az MemoryCache osztályt.
Feljegyzés
Az MemoryCache osztály modellezése a névtérben definiált ASP.NET gyorsítótár-objektumon System.Web.Caching történik. Ezért a belső gyorsítótárazási logika a ASP.NET korábbi verzióiban megadott logikához hasonló.
A WPF-alkalmazások gyorsítótárazásának használatára vonatkozó példa: Útmutató: Alkalmazásadatok gyorsítótárazása EGY WPF-alkalmazásban.
Gyorsítótárazás ASP.NET-alkalmazásokban
A névtér gyorsítótárazási System.Runtime.Caching osztályai az adatok ASP.NET való gyorsítótárazására szolgálnak.
Feljegyzés
Ha az alkalmazás a 3.5-ös vagy korábbi .NET-keretrendszer célozza meg, a névtérben System.Web.Caching definiált gyorsítótárazási osztályokat kell használnia. További információ: ASP.NET gyorsítótárazási áttekintés.
Feljegyzés
Új alkalmazások fejlesztésekor javasoljuk, hogy használja az osztályt MemoryCache . A névtérben System.Runtime.Caching megadott API olyan, mint a névtérben Cache megadott API. Ezért az API ismerős lesz, ha gyorsítótárazást használt a ASP.NET korábbi verzióiban. A gyorsítótárazás ASP.NET alkalmazásokban való használatára vonatkozó példa: Útmutató: Alkalmazásadatok gyorsítótárazása ASP.NET.
Kimeneti gyorsítótár
Az alkalmazásadatok manuális gyorsítótárazásához használhatja az osztályt a MemoryCache ASP.NET. ASP.NET támogatja a kimeneti gyorsítótárazást is, amely tárolja a lapok, vezérlők és HTTP-válaszok generált kimenetét a memóriában. A kimeneti gyorsítótárazást deklaratív módon konfigurálhatja egy ASP.NET-weblapon vagy a Web.config fájl beállításaival. További információ: outputCache elem gyorsítótárazáshoz (ASP.NET Gépház séma).
ASP.NET lehetővé teszi a kimeneti gyorsítótárazást egyéni kimeneti gyorsítótár-szolgáltatók létrehozásával. Egyéni szolgáltatók használatával a gyorsítótárazott tartalmakat más tárolóeszközökkel, például lemezekkel, felhőbeli tárolókkal és elosztott gyorsítótármotorokkal is tárolhatja. Egyéni kimeneti gyorsítótár-szolgáltató létrehozásához létre kell hoznia egy osztályt, amely az OutputCacheProvider osztályból származik, és konfigurálja az alkalmazást az egyéni kimeneti gyorsítótár-szolgáltató használatára.
Gyorsítótárazás a WCF REST-szolgáltatásokban
A WCF REST-szolgáltatások esetében a .NET-keretrendszer lehetővé teszi, hogy kihasználja a ASP.NET elérhető deklaratív kimeneti gyorsítótárazást. Így gyorsítótárazhatja a WCF REST-szolgáltatás műveleteiből érkező válaszokat. Amikor egy felhasználó HTTP GET kérést küld egy gyorsítótárazáshoz konfigurált szolgáltatásnak, ASP.NET visszaküldi a gyorsítótárazott választ, és a szolgáltatás metódusa nem lesz meghívva. A gyorsítótár lejárta után, amikor a felhasználó legközelebb HTTP GET kérést küld, a rendszer meghívja a szolgáltatás metódusát, és a rendszer ismét gyorsítótárazza a választ.
A .NET-keretrendszer lehetővé teszi a feltételes HTTP GET gyorsítótárazását is. REST-forgatókönyvekben a szolgáltatások gyakran használnak feltételes HTTP GET-kérést az intelligens HTTP-gyorsítótárazás megvalósításához a HTTP-specifikációban leírtak szerint. További információ: A WCF webes HTTP-szolgáltatások gyorsítótárazási támogatása.
Gyorsítótárazás kiterjesztése a .NET-keretrendszer
A .NET-keretrendszer gyorsítótárazása bővíthető. Az ObjectCache osztály lehetővé teszi egyéni gyorsítótár-implementáció létrehozását. Ez az osztály minden felügyelt alkalmazás számára elérhető tagokat biztosít, beleértve a Windows Formst, a Windows megjelenítési alaprendszer (WPF) és a Windows Communications Foundationt (WCF). Ezt megteheti egy másik tárolási mechanizmust használó gyorsítótárosztály létrehozásához, vagy ha részletes vezérlést szeretne a gyorsítótár-műveletek felett.
A gyorsítótárazás meghosszabbításához tegye a következőket:
Hozzon létre egy egyéni osztályt, amely az ObjectCache osztályból származik, majd adjon meg egy egyéni gyorsítótár-implementációt a származtatott osztályban.
Hozzon létre egy osztályt, amely az osztályból MemoryCache származik, és testre szabja vagy kibővíti a származtatott osztályt. Erre példa: Alkalmazásadatok gyorsítótárazása több gyorsítótár-objektum használatával egy ASP.NET-alkalmazásban.
Hozzon létre egy osztályt, amely az OutputCacheProvider osztályból származik, és konfigurálja az alkalmazást az egyéni kimeneti gyorsítótár-szolgáltató használatára.
További információ: Extensible Output Caching with ASP.NET 4 (VS 2010 és .NET-keretrendszer 4.0 Series) Scott Guthrie blogján.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: