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


Kerülje el a HTTP gyorsítótárazási problémákat ASP.NET Core alkalmazások Blazor frissítésekor.

Megjegyzés:

Ez nem a cikk legújabb verziója. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.

Figyelmeztetés

A ASP.NET Core ezen verziója már nem támogatott. További információt a .NET és a .NET Core támogatási szabályzatában talál. A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .

Ez a cikk azt ismerteti, hogyan kerülheti el a HTTP-gyorsítótárazással kapcsolatos problémákat az alkalmazások frissítésekor Blazor .

Ha Blazor az alkalmazásokat helytelenül frissítik vagy konfigurálják, az nem zökkenőmentes frissítést eredményezhet a meglévő felhasználók számára. Ez a cikk az alkalmazások főverziók közötti frissítésekor Blazor előforduló gyakori HTTP-gyorsítótárazási problémákat ismerteti. Emellett néhány ajánlott műveletet is biztosít, hogy zökkenőmentes átmenetet biztosítson a felhasználók számára.

Bár a jövőbeli Blazor kiadások jobb megoldásokat nyújthatnak a HTTP-gyorsítótárazási problémák kezelésére, végső soron az alkalmazáson múlik a gyorsítótárazás helyes konfigurálása. A megfelelő gyorsítótárazási konfiguráció biztosítja, hogy az alkalmazás felhasználói mindig a up-to-date verziójú alkalmazással rendelkezzenek, javítva a felhasználói élményt, és csökkentik a hibák előfordulásának valószínűségét.

A felhasználói frissítési élményt negatívan befolyásoló gyakori problémák a következők:

  • A projekt- és csomagfrissítések helytelen kezelése: Ez akkor fordul elő, ha nem frissíti az alkalmazás összes üzembe helyezett projektjét, hogy ugyanazt a fő keretrendszerverziót használja, vagy ha egy korábbi verzió csomagjait használja, amikor egy újabb verzió érhető el a fő frissítés részeként.
  • A gyorsítótárazási fejlécek helytelen konfigurációja: A HTTP-gyorsítótárazás fejlécei szabályozzák, hogy az alkalmazás válaszait hogyan, hol és mennyi ideig gyorsítótárazza a rendszer. Ha a fejlécek nincsenek megfelelően konfigurálva, előfordulhat, hogy a felhasználók elavult vagy nem egyező fájlokat kapnak. Ez magában foglalja Blazor a kötegegységek gyorsítótárazását, ahol a kiszolgáló gyorsítótárazási fejléceit megfelelően kell beállítani az ügyfél gyorsítótárazási problémáinak elkerülése érdekében.
  • Más rétegek helytelen konfigurálása: a Tartalomkézbesítési hálózatok (CDN-ek) és az üzembe helyezett alkalmazás egyéb rétegei problémákat okozhatnak, ha helytelenül vannak konfigurálva. A CDN-eket például úgy tervezték, hogy gyorsítótárazják és kézbesítsék a tartalmat a teljesítmény javítása és a késés csökkentése érdekében. Ha egy CDN helytelenül szolgálja ki az eszközök gyorsítótárazott verzióit, az elavult tartalomkézbesítést eredményezhet a felhasználó számára.

Frissítési problémák észlelése és diagnosztizálása

A frissítési problémák általában az alkalmazás böngészőben való indításának sikertelenségeként jelennek meg. A figyelmeztetés általában egy elavult eszköz vagy eszköz meglétét jelzi, amely hiányzik vagy inkonzisztens az alkalmazással.

  • Először ellenőrizze, hogy az alkalmazás sikeresen betöltődik-e egy tiszta böngészőpéldányon belül. Az alkalmazás betöltéséhez használjon privát böngésző módot, például Microsoft Edge InPrivate módot vagy Google Chrome Inkognitó módot. Ha az alkalmazás nem töltődik be, az valószínűleg azt jelenti, hogy egy vagy több csomag vagy keretrendszer nem lett megfelelően frissítve.
  • Ha az alkalmazás megfelelően töltődik be egy tiszta böngészőpéldányban, akkor valószínű, hogy az alkalmazást elavult gyorsítótárból kézbesítik. A legtöbb esetben a CtrlF5+ történő kemény böngészőfrissítés kiüríti a gyorsítótárat, így az alkalmazás betölthető és futtatható a legújabb eszközökkel.
  • Ha az alkalmazás továbbra is sikertelen, akkor valószínű, hogy egy elavult CDN-gyorsítótár szolgálja ki az alkalmazást. Próbálja meg kiüríteni a DNS-gyorsítótárat a CDN-szolgáltató által kínált mechanizmuson keresztül.

Az alkalmazás korábbi kiszolgálási folyamata megnehezítheti a frissítési folyamatot. A gyorsítótárazási fejlécek korábbi használatának elkerülése vagy helytelen használata például a felhasználók aktuális gyorsítótárazási problémáihoz vezethet. A következő szakaszokban ismertetett műveleteket elvégezve enyhítheti a problémát, és javíthatja a felhasználók frissítési folyamatát.

Keretrendszercsomagok igazítása a keretrendszer verziójához

Győződjön meg arról, hogy a keretrendszercsomagok egybeesnek a keretrendszer verziójával. Kompatibilitási problémákhoz vezethet, ha egy korábbi verzióból származó csomagokat használ, ha újabb verzió érhető el. Azt is fontos biztosítani, hogy az alkalmazás összes üzembe helyezett projektje ugyanazt a fő keretrendszerverziót használja. Ez a konzisztencia segít elkerülni a váratlan viselkedést és hibákat.

A megfelelő gyorsítótárazási fejlécek meglétének ellenőrzése

A megfelelő gyorsítótárazási fejléceknek jelen kell lenniük az erőforrás-kérelmekre adott válaszokban. Ide tartoznak a ETag, Cache-Controlés az egyéb gyorsítótárazási fejlécek is. Ezeknek a fejléceknek a konfigurációja az üzemeltetési szolgáltatástól vagy a kiszolgálóplatformtól függ. Ezek különösen fontosak az olyan objektumok esetében, mint a Blazor szkript és minden, amit a szkript letölt.

A helytelen HTTP-gyorsítótárazási fejlécek a szolgáltatás dolgozóit is érinthetik. A szolgáltatási dolgozók a gyorsítótárazási fejléceket használják a tárolt erőforrások hatékony kezeléséhez. Ezért a helytelen vagy hiányzó fejlécek megzavarhatják a szolgáltatásvégző működését.

Állapot Clear-Site-Data törlése a böngészőben

Fontolja meg a Clear-Site-Data fejléc használatát az állapot törlésére a böngészőben.

A gyorsítótár állapotával kapcsolatos problémák forrása általában a HTTP böngésző gyorsítótárára korlátozódik, ezért az cache irányelv használatának elegendőnek kell lennie. Ez a művelet segíthet annak biztosításában, hogy a böngésző lekérje a legújabb erőforrásokat a kiszolgálóról ahelyett, hogy elavult tartalmat szolgál ki a gyorsítótárból.

Opcionálisan megadhatja a storage irányelvet, hogy a helyi tároló gyorsítótárak törlése az HTTP böngésző gyorsítótárának törlésével egyidejűleg megtörténjen. Az ügyféltárolót használó alkalmazások esetében azonban előfordulhat, hogy az irányelv használata esetén elvesznek a storage fontos információk.

Lekérdezési sztring hozzáfűzése a Blazor szkriptcímkéhez

Ha az előző javasolt műveletek egyike sem hatékony, nem használható az üzembe helyezéshez, vagy alkalmazható az alkalmazásra, fontolja meg, hogy ideiglenesen hozzáfűz egy lekérdezési sztringet a Blazor szkript címkeforrásához <script> . Ennek a műveletnek a legtöbb esetben elegendőnek kell lennie ahhoz, hogy a böngésző megkerülje a helyi HTTP-gyorsítótárat, és letöltse az alkalmazás új verzióját. Nincs szükség a lekérdezési sztring olvasására vagy használatára az alkalmazásban.

A következő példában a rendszer ideiglenesen alkalmazza a lekérdezési sztringet temporaryQueryString=1 a <script> címke relatív külső forrás URI-jára:

<script src="_framework/blazor.webassembly.js?temporaryQueryString=1"></script>

Miután az alkalmazás összes felhasználója újra betöltötte az alkalmazást, a lekérdezési sztring eltávolítható.

Másik lehetőségként alkalmazhat egy állandó lekérdezési sztringet a megfelelő verziószámozással. Az alábbi példa feltételezi, hogy az alkalmazás verziója megegyezik a .NET kiadási verziójával (8 .NET 8 esetén):

<script src="_framework/blazor.webassembly.js?version=8"></script>

A szkriptcímke Blazor helyét a <script>ASP.NET Core Blazor projektstruktúrában talál.