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


ASP.NET Core-alkalmazás Blazor letöltési méretének teljesítményével kapcsolatos ajánlott eljárások

Megjegyzés:

Ez nem a cikk legújabb verziója. A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .

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 .

Fontos

Ezek az információk egy olyan előzetes termékre vonatkoznak, amelyet a kereskedelmi forgalomba kerülés előtt jelentősen módosíthatnak. A Microsoft nem vállal kifejezett vagy hallgatólagos szavatosságot az itt megadott információkra vonatkozóan.

A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .

Futtatókörnyezet újralinkelése

Az alkalmazás letöltési méretének minimalizálásáról a Blazor WebAssembly témakör nyújt tájékoztatást.

Használja a System.Text.Json-t

Blazor JS interop implementációja System.Text.Json-on alapul, ami egy nagy teljesítményű JSON szerializálási könyvtár alacsony memórialefojtással. A System.Text.Json használatának nem szabad további alkalmazáscsomag méretet eredményeznie ahhoz képest, mint amikor egy vagy több alternatív JSON-kódtár kerül hozzáadásra.

A migrálási útmutatóért tekintse meg a(z) Hogyan lehet Newtonsoft.Json-ből System.Text.Json-ra történő migrálást.

Köztes nyelv (IL) eltávolítása

Ez a szakasz csak az ügyféloldali Blazor forgatókönyvekre vonatkozik.

A fel nem használt szerelvények Blazor WebAssembly alkalmazásból való levágása csökkenti az alkalmazás méretét azáltal, hogy eltávolítja a fel nem használt kódot az alkalmazás bináris fájljaiból. További információt az ASP.NET Core-hoz készült trimmer konfigurálásáról című témakörben talál.

Blazor WebAssembly-alkalmazások összekapcsolása csökkenti az alkalmazás méretét azáltal, hogy levágja a nem használt kódot az alkalmazás bináris fájljaiban. A köztes nyelv (IL) linker csak akkor van engedélyezve, ha Release konfigurációban van kialakítva. Ennek kihasználásához tegye közzé az alkalmazást üzembe helyezésre a dotnet publish paranccsal a -c|--configuration beállítással Release:

dotnet publish -c Release

Lusta terhelésű szerelvények

Ez a szakasz csak az ügyféloldali Blazor forgatókönyvekre vonatkozik.

Töltse be az assemblyket futásidőben, amikor egy útvonal megköveteli azokat. További információ: Lusta betöltés összeállítások ASP.NET Core Blazor WebAssembly.

Tömörítés

Ez a szakasz csak Blazor WebAssembly alkalmazásokra vonatkozik.

Egy Blazor WebAssembly-alkalmazás közzétételekor a kimenet statikusan tömörítve lesz a közzététel során az alkalmazás méretének csökkentése és a futásidejű tömörítés többletterhelésének eltávolítása érdekében. Blazor a kiszolgálóra támaszkodik a tartalom egyeztetéséhez és a statikusan tömörített fájlok kiszolgálásához.

Az alkalmazás üzembe helyezése után ellenőrizze, hogy az alkalmazás tömörített fájlokat szolgál-e ki. Ellenőrizze a Hálózati lapot a böngésző fejlesztői eszközeiben, és ellenőrizze, hogy a fájlok Content-Encoding: br (Brotli-tömörítés) vagy Content-Encoding: gz (Gzip-tömörítés) vannak-e kiszolgálva. Ha a gazdagép nem szolgál ki tömörített fájlokat, kövesse gazdagép utasításait, és telepítse ASP.NET Core Blazor WebAssembly.

A nem használt funkciók letiltása

Ez a szakasz csak az ügyféloldali Blazor forgatókönyvekre vonatkozik.

Blazor WebAssemblyA futtatókörnyezet a következő .NET-funkciókat tartalmazza, amelyek kisebb hasznos adatméret esetén letilthatók.

Blazor WebAssembly olyan globalizációs erőforrásokat tartalmaz, amelyek szükségesek ahhoz, hogy a felhasználó kulturális környezetében megjelenítse az értékeket, például dátumokat és pénznemeket. Ha az alkalmazás nem igényel honosítást, konfigurálhatja az alkalmazást az invariáns kultúra támogatására, amely a en-US kultúrán alapul. Alkalmazza az <InvariantGlobalization> MSBuild tulajdonságot egy true értékkel az alkalmazás projektfájljában (.csproj):

<PropertyGroup>
  <InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>

Az invariáns globalizáció alkalmazása csak a nem lokalizált időzóna neveinek használatát eredményezi. Az időzóna kódjának és adatainak eltávolításához az alkalmazásból, alkalmazza az <InvariantTimezone> MSBuild tulajdonságot true értékkel az alkalmazás projektfájljában (.csproj):

<PropertyGroup>
  <InvariantTimezone>true</InvariantTimezone>
</PropertyGroup>

Megjegyzés:

<BlazorEnableTimeZoneSupport> felülbírál egy korábbi <InvariantTimezone> beállítást. Javasoljuk, hogy távolítsa el a <BlazorEnableTimeZoneSupport> beállítást.

A rendszer egy adatfájlt tartalmaz az időzónára vonatkozó információk helyessé tétele érdekében. Ha az alkalmazásnak nincs szüksége erre a funkcióra, fontolja meg a letiltását azáltal, hogy az <BlazorEnableTimeZoneSupport> MSBuild tulajdonság értékét false-re állítja az alkalmazás projektfájljában.

<PropertyGroup>
  <BlazorEnableTimeZoneSupport>false</BlazorEnableTimeZoneSupport>
</PropertyGroup>

Az API-k, például a StringComparison.InvariantCultureIgnoreCase, megfelelő működéséhez betartják a rendezési információkat. Ha biztos benne, hogy az alkalmazásnak nincs szüksége a rendezési adatokra, akkor fontolja meg a letiltását az BlazorWebAssemblyPreserveCollationData MSBuild tulajdonság falseértékű beállításával az alkalmazás projektfájljában.

<PropertyGroup>
  <BlazorWebAssemblyPreserveCollationData>false</BlazorWebAssemblyPreserveCollationData>
</PropertyGroup>

További erőforrások

.NET WebAssembly-alkalmazások konfigurálása és üzemeltetése