Megosztás a következőn keresztül:


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:

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