Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
Ez nem a cikk legújabb verziója. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.
Warning
A ASP.NET Core ezen verziója már nem támogatott. További információ: .NET és .NET Core támogatási szabályzat. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.
Ez a cikk ismerteti Blazor üzemeltetési modelleket, amelyek elsősorban a .NET 8-nál korábbi verzióiban lévő Blazor Server és Blazor WebAssembly alkalmazásokra összpontosítanak. A cikkben szereplő útmutatás a natív mobil- és asztali platformokon futó Blazor Hybrid alkalmazásokhoz tartozó .NET-kiadásokban releváns. Blazor Web AppA .NET 8-as vagy újabb verzióiban a Razor összetevők renderelése jobban érthetővé válik azáltal, ahogyan megjelenítési módjukat leírják. A renderelési módok röviden az Alapjai áttekintő cikkben kerülnek említésre, és részletes leírásuk az ASP.NET Core Blazor renderelési módok az Összetevők csomópont részben található.
Ez a cikk ismerteti Blazor üzemeltetési modelleket, és azt, hogyan választhatja ki, hogy melyiket használja.
Blazor egy webes keretrendszer a webes felhasználói felület összetevőinek (Razor összetevők) készítéséhez, amelyek különböző módokon üzemeltethetők. Razor összetevők futhatnak szerveroldalon az ASP.NET Core-ban (Blazor Server), vagy kliensoldalon a böngészőben, egy WebAssembly-alapú .NET futtatókörnyezetben (Blazor WebAssembly, BlazorWasm). Olyan natív mobil- és asztali alkalmazásokban is üzemeltethet Razor összetevőket, amelyek beágyazott Web View vezérlőelemre (Blazor Hybrid) renderelnek. Az üzemeltetési modelltől függetlenül a Razor összetevők készítése ugyanúgy történik. Ugyanezek a Razor összetevők bármelyik üzemeltetési modellben változatlanul használhatók.
Blazor egy webes keretrendszer a webes felhasználói felület összetevőinek (Razor összetevők) készítéséhez, amelyek különböző módokon üzemeltethetők. Razor összetevők futhatnak szerveroldalon az ASP.NET Core-ban (Blazor Server), vagy kliensoldalon a böngészőben, egy WebAssembly-alapú .NET futtatókörnyezetben (Blazor WebAssembly, BlazorWasm). Az üzemeltetési modelltől függetlenül a Razor összetevők készítése ugyanúgy történik. Ugyanezek a Razor összetevők bármelyik üzemeltetési modellben változatlanul használhatók.
Blazor Server
Az Blazor Server üzemeltetési modellel az összetevők egy ASP.NET Core-alkalmazáson belül lesznek végrehajtva a kiszolgálón. A felhasználói felület frissítéseit, az eseménykezelést és a JavaScript-hívásokat egy SignalR kapcsolaton keresztül kezeli a WebSockets protokoll. Az egyes csatlakoztatott ügyfelekhez társított kiszolgálón lévő állapotot kapcsolatcsoportnak nevezzük. A kapcsolatcsoportok nincsenek egy adott hálózati kapcsolathoz kötve, és képesek elviselni az ügyfél által a kiszolgálóhoz való újracsatlakozási kísérleteket, amikor megszakad a kapcsolat.
A hagyományos kiszolgáló által renderelt alkalmazásokban az alkalmazás megnyitása több böngészőképernyőn (lapok vagy iframes) általában nem jelent további erőforrásigényeket a kiszolgálón. A Blazor Server üzemeltetési modell esetében minden böngészőképernyőhöz külön kapcsolatcsoportra és a kiszolgáló által felügyelt összetevőállapot különálló példányaira van szükség.
Blazor tekinti böngészőfül bezárását, vagy egy külső URL-címre történő navigálást, normál végződésnek. Szabályos leállítás esetén az áramkört és a kapcsolódó erőforrásokat azonnal felszabadítják. Az ügyfél emellett nem kecsesen is leválaszthatja a kapcsolatot, például hálózati megszakadás miatt.
Blazor Server a leválasztott kapcsolatcsoportokat egy konfigurálható intervallumban tárolja, hogy az ügyfél újracsatlakozhasson.
Az ügyfélen a Blazor szkript létrehozza a SignalR kapcsolatot a kiszolgálóval. A szkript statikus webes elemként van kiszolgálva automatikus tömörítéssel és azonosító készítéssel (,).
Az ügyfélen a Blazor szkript létrehozza a SignalR kapcsolatot a kiszolgálóval. A szkript egy beágyazott erőforrásból lesz kézbesítve a ASP.NET Core megosztott keretrendszerében.
A Blazor Server üzemeltetési modell számos előnnyel jár:
- A letöltési méret jelentősen kisebb, mint a Blazor WebAssembly üzemeltetési modell használatakor, és az alkalmazás sokkal gyorsabban töltődik be.
- Az alkalmazás teljes mértékben kihasználja a kiszolgáló képességeit, beleértve a .NET API-k használatát is.
- A .NET a kiszolgálón az alkalmazás futtatására szolgál, így a meglévő .NET-eszközök, például a hibakeresés, a várt módon működnek.
- A vékony kliensek támogatottak. A Blazor Server például olyan böngészőkkel működik, amelyek nem támogatják a WebAssemblyt és az erőforrás-korlátozással rendelkező eszközökön.
- Az alkalmazás .NET/C# kódbázisa, beleértve az alkalmazás összetevőkódját, nem szolgál ki az ügyfelek számára.
A Blazor Server üzemeltetési modellre a következő korlátozások vonatkoznak:
- A késés általában magasabb. Minden felhasználói beavatkozás egy hálózati ugrással jár.
- Nincs offline támogatás. Ha az ügyfélkapcsolat meghiúsul, az interaktivitás meghiúsul.
- A sok felhasználóval rendelkező alkalmazások méretezéséhez kiszolgálói erőforrásokra van szükség több ügyfélkapcsolat és ügyfélállapot kezeléséhez.
- Az alkalmazás kiszolgálásához ASP.NET Core-kiszolgáló szükséges. Kiszolgáló nélküli üzembe helyezési forgatókönyvek nem lehetségesek, például az alkalmazás content delivery networkből (CDN) való kiszolgálása.
Javasoljuk, hogy az Azure SignalR Service használja az Blazor Server üzemeltetési modellt alkalmazó alkalmazásokhoz. A szolgáltatás lehetővé teszi egy Blazor Server-alkalmazás nagy számú egyidejű SignalR kapcsolatra való felskálázását.
Blazor WebAssembly
A Blazor WebAssembly üzemeltetési modell az összetevőket ügyféloldalon futtatja a böngészőben egy WebAssembly-alapú .NET-futtatókörnyezetben. Razor összetevőket, azok függőségeit és a .NET-futtatókörnyezetet a rendszer letölti a böngészőbe. Az összetevők közvetlenül a böngésző felhasználói felületi szálán lesznek végrehajtva. A felhasználói felület frissítései és az eseménykezelés ugyanazon a folyamaton belül történik. Az eszközök statikus fájlokként vannak üzembe helyezve egy olyan webkiszolgálón vagy szolgáltatásban, amely képes statikus tartalmakat kiszolgálni az ügyfelek számára.
Blazor Web Apps az üzemeltetési Blazor WebAssembly modell segítségével engedélyezheti az ügyféloldali interaktivitást. Ha olyan alkalmazás jön létre, amely kizárólag a Blazor WebAssembly üzemeltetési modellen fut kiszolgálóoldali renderelés és interaktivitás nélkül, az alkalmazást önállóBlazor WebAssembly alkalmazásnak nevezzük.
Ha a Blazor WebAssembly alkalmazást úgy hozzák létre üzembe helyezésre, hogy nincs hozzá háttér ASP.NET Core alkalmazás, amely kiszolgálná a fájljait, akkor az alkalmazást önállóBlazor WebAssembly alkalmazásnak nevezzük.
Ha egy különálló Blazor WebAssembly-alkalmazás háttérrendszerbeli ASP.NET Core-alkalmazást használ a fájljai kiszolgálásához, az alkalmazást üzemeltetettBlazor WebAssembly alkalmazásnak nevezzük. A üzemeltetett Blazor WebAssemblyhasználatával teljes körű webes fejlesztési élményt kaphat a .NET-tel, beleértve a kód megosztását az ügyfél- és kiszolgálóalkalmazások között, az előrendelés támogatását, valamint az MVC-vel és Razor pages-ekkel való integrációt. A üzemeltetett ügyfélalkalmazások számos üzenetkezelési keretrendszer és protokoll használatával kezelhetik a háttérkiszolgáló alkalmazást a hálózaton keresztül, például webes API-, gRPC-webés SignalR (ASP.NET Core SignalR használata Blazor).
A Blazor WebAssembly beépített alkalmazások modern böngésző API-kat használnak a natív ügyfélalkalmazások számos funkciójának engedélyezéséhez, például az offline működéshez, a saját alkalmazásablakban való futtatáshoz, a gazdagép operációs rendszeréből való indításhoz, leküldéses értesítések fogadásához és a háttérben történő automatikus frissítéshez.
A Blazor szkript a következőket kezeli:
- Töltse le a .NET-futtatókörnyezetet, Razor összetevőket és függőségeket.
- Futtatókörnyezet inicializálása.
A közzétett alkalmazás mérete, más szóval a betöltési mérete, kritikus szerepet játszik az alkalmazás használhatóságának teljesítményében. Egy nagy alkalmazás letöltése viszonylag hosszú időt vesz igénybe egy böngészőbe, ami csökkenti a felhasználói élményt. Blazor WebAssembly optimalizálja az adatcsomag méretét a letöltési idő csökkentése érdekében.
- A fel nem használt kód a Köztes nyelv (IL) vágóáltal közzétett közzétételekor törlődik az alkalmazásból.
- A HTTP-válaszok tömörítve vannak.
- A .NET futtatókörnyezet és az összeállítások tárolva vannak a böngészőben.
A Blazor WebAssembly üzemeltetési modell számos előnnyel jár:
- Különálló Blazor WebAssembly-alkalmazások esetén nincs .NET kiszolgálóoldali függőség az alkalmazás kiszolgálóról való letöltése után, így az alkalmazás akkor is működőképes marad, ha a kiszolgáló offline állapotba kerül.
- Az ügyfélerőforrások és képességek teljes mértékben kihasználhatók.
- A munka át van helyezve a szerverről az ügyfélre.
- Önálló Blazor WebAssembly-alkalmazások esetén az alkalmazás üzemeltetéséhez nincs szükség ASP.NET Core-webkiszolgálóra. Kiszolgáló nélküli üzembe helyezési forgatókönyvek is lehetségesek, például az alkalmazás tartalomkézbesítési hálózatból (CDN) való kiszolgálása.
A Blazor WebAssembly üzemeltetési modellre a következő korlátozások vonatkoznak:
- Razor összetevők a böngésző képességeire korlátozódnak.
- Képes ügyfélhardverre és szoftverre (például WebAssembly-támogatásra) van szükség.
- A letöltés mérete nagyobb, és az összetevők betöltése hosszabb időt vesz igénybe.
- Az ügyfélnek küldött kód nem védhető meg a felhasználók általi ellenőrzés és illetéktelen módosítás ellen.
A .NET köztes nyelv (IL) értelmező részleges igény szerinti (JIT) futásidejű támogatást nyújt a futásidejű teljesítmény javítása érdekében. A JIT-értelmező úgy optimalizálja az értelmezői bájtkódok végrehajtását, hogy a WebAssembly-kód apró blobjaira cseréli őket. A JIT-értelmező automatikusan engedélyezve van Blazor WebAssembly alkalmazásokhoz, kivéve a hibakeresést.
Blazor támogatja az idő előtti (AOT) fordítást, ahol a .NET-kódot közvetlenül a WebAssemblybe fordíthatja. Az AOT-fordítás futásidejű teljesítménybeli javulást eredményez egy nagyobb alkalmazásméret rovására. További információ: ASP.NET Core Blazor WebAssembly buildeszközök és az előzetes fordítás.
Ugyanez .NET WebAssembly buildelési eszközök az AOT-fordításhoz is a .NET WebAssembly futtatókörnyezet a nem használt futtatókörnyezeti kód kivágásához. Blazor a nem használt kódot is levágja a .NET-keretrendszertárakból. A .NET fordítója előzetesen tömörít egy önálló Blazor WebAssembly alkalmazást, ezzel csökkentve az alkalmazás méretét.
A WebAssembly által renderelt Razor összetevők natív függőségeket használhatnak, a WebAssemblyen való futtatáshoz.
Blazor WebAssembly támogatja a nem használt kód .NET-kódtárakból való kivágását. További információért lásd a ASP.NET Core Blazor globalizálás és honosításoldalt.
Blazor Hybrid
Blazor natív ügyfélalkalmazások hibrid megközelítéssel történő létrehozásához is használható. A hibrid alkalmazások olyan natív alkalmazások, amelyek webes technológiákat használnak a működésükhöz. Az Blazor Hybrid-alkalmazásokban Razor összetevők közvetlenül a natív alkalmazásban futnak (nem a WebAssemblyen), valamint bármely más .NET-kóddal együtt, és html- és CSS-alapú webes felhasználói felületet renderelnek egy beágyazott Web View vezérlőbe egy helyi interop csatornán keresztül.
Blazor Hybrid alkalmazások különböző .NET-alapú natív alkalmazás-keretrendszerek használatával hozhatók létre, például .NET MAUI, WPF és Windows Forms használatával.
Blazor
BlazorWebView vezérlőket biztosít, amelyekkel Razor összetevőket adhat hozzá az ilyen keretrendszerekkel készült alkalmazásokhoz. A Blazor.NET MAUI használatával kényelmesen készíthet platformfüggetlen Blazor Hybrid-alkalmazásokat mobil- és asztali alkalmazásokhoz, míg Blazor WPF-sel és Windows Forms-űrlapokkal való integráció nagyszerű módja lehet a meglévő alkalmazások modernizálásának.
Mivel Blazor Hybrid alkalmazások natív alkalmazások, olyan funkciókat támogathatnak, amelyek nem csak a webplatformon érhetők el. Blazor Hybrid alkalmazások teljes hozzáféréssel rendelkeznek a natív platform képességeihez a normál .NET API-kon keresztül. Blazor Hybrid alkalmazások megoszthatják és újra felhasználhatják az összetevőket a meglévő Blazor Server vagy Blazor WebAssembly alkalmazásokkal. Blazor Hybrid alkalmazások egyesítik a web, a natív alkalmazások és a .NET-platform előnyeit.
A Blazor Hybrid üzemeltetési modell számos előnnyel jár:
- Használja újra a meglévő összetevőket, amelyek megoszthatók mobileszközökön, asztali számítógépeken és weben.
- Használja ki a webes fejlesztési készségeket, tapasztalatokat és erőforrásokat.
- Az alkalmazások teljes hozzáféréssel rendelkeznek az eszköz natív képességeihez.
A Blazor Hybrid üzemeltetési modellre a következő korlátozások vonatkoznak:
- Az egyes célplatformokhoz külön natív ügyfélalkalmazásokat kell létrehozni, üzembe helyezni és karbantartani.
- A natív ügyfélalkalmazások keresése, letöltése és telepítése általában hosszabb időt vesz igénybe egy webalkalmazás böngészőben való elérésekor.
További információ: ASP.NET Core Blazor Hybrid.
A Microsoft natív ügyfél-keretrendszereivel kapcsolatos további információkért tekintse meg a következő erőforrásokat:
Melyik Blazor üzemeltetési modellt válasszam?
Az összetevő hosztolási modellje a renderelési módalapján kerül meghatározásra, akár fordítási időben, akár futásidőben, ahogy az ASP.NET Core Blazor renderelési módokpéldákkal bemutatva áll. Az alábbi táblázat az összetevők üzemeltetési modelljének meghatározására szolgáló renderelési mód beállításának elsődleges szempontjait mutatja be. Különálló Blazor WebAssembly alkalmazások esetén az alkalmazás összes összetevője az ügyfélen jelenik meg a Blazor WebAssembly üzemeltetési modellel.
Válassza ki a Blazor üzemeltetési modellt az alkalmazás funkciókövetelményei alapján. Az alábbi táblázat az üzemeltetési modell kiválasztásának elsődleges szempontjait mutatja be.
Blazor Hybrid alkalmazások közé tartoznak a .NET MAUI, a WPF és a Windows Forms keretrendszeralkalmazások.
| Feature | Blazor Server | Blazor WebAssembly (Wasm) | Blazor Hybrid |
|---|---|---|---|
| A .NET API kompatibilitás | Supported | Nem támogatott | Supported |
| kiszolgálói és hálózati erőforrások közvetlen elérése | Supported | Nem támogatott† | Nem támogatott† |
| Kis hasznos adatméret gyors kezdeti betöltési idővel | Supported | Nem támogatott | Nem támogatott |
| A natív végrehajtási sebességhez közeli | Supported | Supported‡ | Supported |
| alkalmazáskód biztonságos és privát a kiszolgálón | Supported | Nem támogatott† | Nem támogatott† |
| Alkalmazások offline futtatása a letöltés után | Nem támogatott | Supported | Supported |
| statikus webhely üzemeltetése | Nem támogatott | Supported | Nem támogatott |
| A feldolgozási feladatok áthelyezése az ügyfelekre | Nem támogatott | Supported | Supported |
| teljes hozzáférés a natív ügyfélfunkciókhoz | Nem támogatott | Nem támogatott | Supported |
| Webalapú üzembe helyezés | Supported | Supported | Nem támogatott |
†Blazor WebAssembly és Blazor Hybrid alkalmazások kiszolgálóalapú API-kat használhatnak a kiszolgálói/hálózati erőforrások eléréséhez, valamint a privát és biztonságos alkalmazáskódhoz való hozzáféréshez.
‡Blazor WebAssembly csak közel natív teljesítményt ér el előre összeállított (AOT) összeállítás.
| Feature | Blazor Server | Blazor WebAssembly (Wasm) |
|---|---|---|
| A .NET API kompatibilitás | Supported | Nem támogatott |
| kiszolgálói és hálózati erőforrások közvetlen elérése | Supported | Nem támogatott† |
| Kis hasznos adatméret gyors kezdeti betöltési idővel | Supported | Nem támogatott |
| alkalmazáskód biztonságos és privát a kiszolgálón | Supported | Nem támogatott† |
| Alkalmazások offline futtatása a letöltés után | Nem támogatott | Supported |
| statikus webhely üzemeltetése | Nem támogatott | Supported |
| A feldolgozási feladatok áthelyezése az ügyfelekre | Nem támogatott | Supported |
†Blazor WebAssembly alkalmazások kiszolgálóalapú API-k használatával férhetnek hozzá a kiszolgálói/hálózati erőforrásokhoz, és hozzáférhetnek a privát és biztonságos alkalmazáskódhoz.
Az alkalmazás üzemeltetési modelljének kiválasztása után létrehozhat egy Blazor Server vagy Blazor WebAssembly alkalmazást egy Blazor projektsablonból. További információért lásd: ASP.NET Core eszközkészlet Blazor.
Blazor Hybrid alkalmazás létrehozásához tekintse meg ASP.NET Core Blazor Hybrid oktatóanyagokcímű témakört.
A .NET API kompatibilitásának befejezése
A
Blazor Server és Blazor Hybrid alkalmazások teljes .NET API-kompatibilitással rendelkeznek, míg Blazor WebAssembly alkalmazások a .NET API-k egy részhalmazára korlátozódnak. Ha egy alkalmazás specifikációja egy vagy több olyan .NET API-t igényel, amely nem érhető el Blazor WebAssembly alkalmazásokhoz, válassza Blazor Server vagy Blazor Hybrid.
Blazor Server alkalmazások teljes .NET API-kompatibilitással rendelkeznek, míg Blazor WebAssembly alkalmazások a .NET API-k egy részhalmazára korlátozódnak. Ha egy alkalmazás specifikációja egy vagy több olyan .NET API-t igényel, amely nem érhető el Blazor WebAssembly alkalmazásokhoz, válassza a Blazor Serverlehetőséget.
Közvetlen hozzáférés a kiszolgálói és hálózati erőforrásokhoz
A Blazor Server üzemeltetési modellhez renderelt összetevők közvetlen hozzáféréssel rendelkeznek a kiszolgálói és hálózati erőforrásokhoz, ahol az alkalmazás fut. Mivel a Blazor WebAssembly vagy Blazor Hybrid által üzemeltetett összetevők egy ügyfélen futnak, nem rendelkeznek közvetlen hozzáféréssel a kiszolgálóhoz és a hálózati erőforrásokhoz. Az összetevők közvetetten férhetnek hozzá a kiszolgálói és hálózati erőforrásokhoz
- A külső kódtárak, csomagok és szolgáltatások megvalósítása és fenntartása költséges lehet, gyengén támogatottak, vagy biztonsági kockázatokat hordozhatnak.
- Ha egy vagy több kiszolgálóalapú API-t a szervezet belsőleg fejleszt, további erőforrásokra van szükség a létrehozásukhoz és karbantartásához.
A Blazor Server üzemeltetési modellel elkerülheti az API-k kiszolgálókörnyezetből való közzétételének szükségességét.
Blazor Server alkalmazások közvetlen hozzáféréssel rendelkeznek a kiszolgálói és hálózati erőforrásokhoz, ahol az alkalmazás fut. Mivel Blazor WebAssembly és Blazor Hybrid alkalmazások futnak egy ügyfélen, nem rendelkeznek közvetlen hozzáféréssel a kiszolgálói és hálózati erőforrásokhoz.
- A külső kódtárak, csomagok és szolgáltatások megvalósítása és fenntartása költséges lehet, gyengén támogatottak, vagy biztonsági kockázatokat hordozhatnak.
- Ha egy vagy több kiszolgálóalapú API-t a szervezet belsőleg fejleszt, további erőforrásokra van szükség a létrehozásukhoz és karbantartásához.
Az Blazor WebAssembly vagy Blazor Hybrid alkalmazások kiszolgálóalapú API-inak elkerülése érdekében olyan Blazor Serverfogadjon el, amely közvetlenül hozzáférhet a kiszolgálói és hálózati erőforrásokhoz.
Blazor Server alkalmazások közvetlen hozzáféréssel rendelkeznek a kiszolgálói és hálózati erőforrásokhoz, ahol az alkalmazás fut. Mivel Blazor WebAssembly alkalmazások egy ügyfélen futnak, nem rendelkeznek közvetlen hozzáféréssel a kiszolgálóhoz és a hálózati erőforrásokhoz.
- A külső kódtárak, csomagok és szolgáltatások megvalósítása és fenntartása költséges lehet, gyengén támogatottak, vagy biztonsági kockázatokat hordozhatnak.
- Ha egy vagy több kiszolgálóalapú API-t a szervezet belsőleg fejleszt, további erőforrásokra van szükség a létrehozásukhoz és karbantartásához.
Az Blazor WebAssembly-alkalmazások kiszolgálóalapú API-inak elkerülése érdekében fogadja el a Blazor Server, amely közvetlenül hozzáférhet a kiszolgálói és hálózati erőforrásokhoz.
Kis hasznos teher méret gyors kezdeti betöltési idővel
A kiszolgálóról történő renderelés csökkenti az alkalmazás hasznos adatméretét, és javítja a kezdeti betöltési időket. Ha gyors kezdeti betöltési időre van szükség, használja a Blazor Server üzemeltetési modellt, vagy fontolja meg a statikus kiszolgálóoldali renderelést.
Blazor Server alkalmazások viszonylag kis hasznos adatmérettel rendelkeznek, gyorsabb kezdeti betöltési idővel. Ha gyors kezdeti betöltési idő szükséges, fogadja el Blazor Server.
Natív végrehajtási sebesség közelében
Blazor Hybrid alkalmazások natív módon futnak a célplatformon a .NET-futtatókörnyezet használatával, amely a lehető legjobb sebességet biztosítja.
A Blazor WebAssembly üzemeltetési modellhez renderelt összetevők, köztük a Progresszív Web Apps (PWA-k) és a különálló Blazor WebAssembly-alkalmazások a WebAssembly .NET-futtatókörnyezetével futnak, ami lassabb, mint a platformon való közvetlen futtatás. Érdemes lehet előre összeállított (AOT) használatával javítani a futtatókörnyezet teljesítményét Blazor WebAssemblyhasználatakor.
Blazor Hybrid alkalmazások natív módon futnak a célplatformon a .NET-futtatókörnyezet használatával, amely a lehető legjobb sebességet biztosítja.
Blazor WebAssembly, beleértve a Progresszív Web Apps (PWA-kat) is, az alkalmazások a WebAssembly .NET-futtatókörnyezetével futnak, ami lassabb, mint közvetlenül a platformon, még az olyan alkalmazások esetében is, amelyek előre összeállított a WebAssemblyhez a böngészőben.
Blazor Server alkalmazások általában gyorsan futnak a kiszolgálón.
Blazor WebAssembly alkalmazások a WebAssembly .NET-futtatókörnyezetével futnak, ami lassabb, mint közvetlenül a platformon.
Alkalmazáskód biztonságos és privát a kiszolgálón
Az alkalmazáskód biztonságos és privát karbantartása a kiszolgálón a Blazor Server üzemeltetési modellhez renderelt összetevők beépített funkciója. A Blazor WebAssembly vagy Blazor Hybrid üzemeltetési modellek használatával renderelt összetevők kiszolgálóalapú API-kat használhatnak a privát és biztonságos működéshez szükséges funkciók eléréséhez. A kiszolgálóalapú API-k fejlesztésére és karbantartására vonatkozó szempontokat a A kiszolgálói és hálózati erőforrások közvetlen hozzáférése szakasz ismerteti. Ha a kiszolgálóalapú API-k fejlesztése és karbantartása nem kívánatos a biztonságos és privát alkalmazáskód fenntartásához, renderelje a Blazor Server üzemeltetési modell összetevőit.
Az alkalmazáskód biztonságos és privát karbantartása a kiszolgálón a Blazor Serverbeépített funkciója. Blazor WebAssembly és Blazor Hybrid alkalmazások kiszolgálóalapú API-kat használhatnak a privát és biztonságos működéshez szükséges funkciók eléréséhez. A kiszolgálóalapú API-k fejlesztésére és karbantartására vonatkozó szempontokat a A kiszolgálói és hálózati erőforrások közvetlen hozzáférése szakasz ismerteti. Ha a kiszolgálóalapú API-k fejlesztése és karbantartása nem kívánatos a biztonságos és privát alkalmazáskód fenntartásához, alkalmazza a Blazor Server üzemeltetési modellt.
Az alkalmazáskód biztonságos és privát karbantartása a kiszolgálón a Blazor Serverbeépített funkciója. Blazor WebAssembly alkalmazások kiszolgálóalapú API-kat használhatnak a privát és biztonságos működéshez szükséges funkciók eléréséhez. A kiszolgálóalapú API-k fejlesztésére és karbantartására vonatkozó szempontokat a A kiszolgálói és hálózati erőforrások közvetlen hozzáférése szakasz ismerteti. Ha a kiszolgálóalapú API-k fejlesztése és karbantartása nem kívánatos a biztonságos és privát alkalmazáskód fenntartásához, alkalmazza a Blazor Server üzemeltetési modellt.
Alkalmazások offline futtatása letöltés után
Az önálló Blazor WebAssembly progresszív webalkalmazások (PWA-k) és Blazor Hybrid alkalmazások offline futtathatók, ami különösen akkor hasznos, ha az ügyfelek nem tudnak csatlakozni az internethez. A Blazor Server üzemeltetési modellhez renderelt összetevők nem futnak, ha megszakad a kapcsolat a kiszolgálóval. Ha egy alkalmazásnak offline állapotban kell futnia, a legjobb választás az önálló Blazor WebAssembly és Blazor Hybrid.
Blazor WebAssembly progresszív webalkalmazások (PWA-k) és Blazor Hybrid alkalmazások offline futtathatók, ami különösen akkor hasznos, ha az ügyfelek nem tudnak csatlakozni az internethez. Blazor Server alkalmazások nem futnak, ha megszakad a kapcsolat a kiszolgálóval. Ha egy alkalmazásnak offline állapotban kell futnia, Blazor WebAssembly és Blazor Hybrid a legjobb választás.
Blazor WebAssembly alkalmazások offline is futtathatók, ami különösen akkor hasznos, ha az ügyfelek nem tudnak csatlakozni az internethez. Blazor Server alkalmazások nem futnak, ha megszakad a kapcsolat a kiszolgálóval. Ha egy alkalmazásnak offline állapotban kell futnia, Blazor WebAssembly a legjobb választás.
Statikus webhely üzemeltetése
A statikus webhely üzemeltetése különálló Blazor WebAssembly alkalmazásokkal lehetséges, mert statikus fájlok készleteként töltik le őket az ügyfelekre. Az önálló Blazor WebAssembly-alkalmazások nem igénylik a kiszolgálóoldali kódot a letöltéshez és a futtatáshoz, és Tartalomkézbesítési hálózat (CDN) (például Azure CDN) keresztül kézbesíthetők.
Bár a Blazor Hybrid alkalmazásokat egy vagy több önálló telepítési egységgé fordítják le, azokat általában egy külső alkalmazásbolton keresztül biztosítják az ügyfeleknek. Ha a statikus tárhely szolgáltatás alkalmazáskövetelmény, válassza az önálló Blazor WebAssembly.
A feldolgozás áthelyezése az ügyfelekre
A Blazor WebAssembly vagy Blazor Hybrid üzemeltetési modellek használatával renderelt összetevők a klienseken futnak, és így áthelyezik a feldolgozást a kliensekre. A Blazor Server üzemeltetési modellhez renderelt összetevők egy kiszolgálón futnak, így a kiszolgálói erőforrás-igény általában nő a felhasználók számával és a felhasználónként szükséges feldolgozási mennyiséggel. Ha egy alkalmazás feldolgozásának nagy részét vagy egészét ki lehet kapcsolni az ügyfelekre, és az alkalmazás jelentős mennyiségű adatot dolgoz fel, a legjobb választás Blazor WebAssembly vagy Blazor Hybrid.
Blazor WebAssembly és Blazor Hybrid alkalmazások a klienseken futnak, és így a feldolgozást a kliensekre hárítják. Blazor Server alkalmazások egy kiszolgálón futnak, így a kiszolgálói erőforrásigény általában a felhasználók számával és a felhasználónként szükséges feldolgozási mennyiséggel nő. Ha egy alkalmazás feldolgozásának nagy részét vagy egészét ki lehet kapcsolni az ügyfelekre, és az alkalmazás jelentős mennyiségű adatot dolgoz fel, a legjobb választás Blazor WebAssembly vagy Blazor Hybrid.
Blazor WebAssembly alkalmazások az ügyfelek eszközein futnak, és így a feldolgozást az ügyfelekre terhelik. Blazor Server alkalmazások egy kiszolgálón futnak, így a kiszolgálói erőforrásigény általában a felhasználók számával és a felhasználónként szükséges feldolgozási mennyiséggel nő. Ha egy alkalmazás feldolgozásának nagy részét vagy egészét ki lehet kapcsolni az ügyfelekre, és az alkalmazás jelentős mennyiségű adatot dolgoz fel, Blazor WebAssembly a legjobb választás.
Teljes hozzáférés natív ügyfélfunkciókhoz
Blazor Hybrid alkalmazások teljes hozzáféréssel rendelkeznek a natív ügyfél API-képességekhez .NET natív alkalmazás-keretrendszereken keresztül. Blazor Hybrid alkalmazásokban a Razor összetevők közvetlenül a natív alkalmazásban futnak, nem a WebAssembly-ban. Ha a teljes ügyfélképesség követelmény, Blazor Hybrid a legjobb választás.
Webalapú üzembe helyezés
Blazor Web Apps frissül a böngészőből történő következő alkalmazásfrissítéskor.
Blazor Hybrid alkalmazások natív ügyfélalkalmazások, amelyek általában telepítőt és platformspecifikus üzembe helyezési mechanizmust igényelnek.
Összetevő üzemeltetési modelljének beállítása
Ha egy összetevő üzemeltetési modelljét fordítási időben vagy futásidőben dinamikusan Blazor Server vagy Blazor WebAssembly szeretné beállítani, állítsa be a renderelési módot. A renderelési módokat teljeskörűen ismertetjük és bemutatjuk a ASP.NET Core Blazor renderelési módok cikkben. Nem javasoljuk, hogy ebből a cikkből közvetlenül a Render modes cikkhez ugorjon anélkül, hogy elolvasná a közte levő cikkek tartalmát. A renderelési módokat például könnyebben megértheti az Razor összetevők példáinak megvizsgálásával, de az alapvető Razor összetevők struktúrája és működése csak a ASP.NET Core Blazor alapvető cikkben érhető el. A Blazor cikkben szereplő összetevők példáinak használata előtt hasznos megismerni projektsablonjait és eszközeit.