Sdílet prostřednictvím


modely hostování ASP.NET Core Blazor

Poznámka:

Toto není nejnovější verze tohoto článku. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Upozorňující

Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v tématu .NET a .NET Core Zásady podpory. Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Důležité

Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.

Aktuální verzi najdete ve verzi .NET 8 tohoto článku.

Tento článek vysvětluje Blazor hostování modelů, primárně zaměřené na Blazor Server Blazor WebAssembly aplikace ve verzích .NET starších než .NET 8. Pokyny v tomto článku jsou relevantní ve všech verzích .NET pro Blazor Hybrid aplikace, které běží na nativních mobilních a desktopových platformách. Blazor Web Apps v .NET 8 nebo novějších verzích jsou lépe koncepční tím, jak Razor se komponenty vykreslují, což je popsáno jako jejich režim vykreslování. Režimy vykreslení jsou stručně popsány v článku Základní informace a podrobně popsány v ASP.NET Základní Blazor režimy vykreslování uzlu Komponenty.

Tento článek vysvětluje Blazor hostování modelů a způsob výběru, který z nich se má použít.

Blazor je webová architektura pro vytváření komponent webového uživatelského rozhraní (Razor komponent), které je možné hostovat různými způsoby. Razorkomponenty můžou spouštět serverovou stranu v ASP.NET Core (Blazor Server) a na straně klienta v prohlížeči v modulu runtime .NET založeném na WebAssembly (Blazor WebAssemblyWASMBlazor). Komponenty můžete hostovat Razor také v nativních mobilních a desktopových aplikacích, které se vykreslují do vloženého Web View ovládacího prvku (Blazor Hybrid). Bez ohledu na model hostování je způsob vytváření Razor komponent stejný. Stejné Razor komponenty lze použít s libovolným z hostitelských modelů beze změny.

Blazor je webová architektura pro vytváření komponent webového uživatelského rozhraní (Razor komponent), které je možné hostovat různými způsoby. Razorkomponenty můžou spouštět serverovou stranu v ASP.NET Core (Blazor Server) a na straně klienta v prohlížeči v modulu runtime .NET založeném na WebAssembly (Blazor WebAssemblyWASMBlazor). Bez ohledu na model hostování je způsob vytváření Razor komponent stejný. Stejné Razor komponenty lze použít s libovolným z hostitelských modelů beze změny.

Blazor Server

S modelem Blazor Server hostování se komponenty spouští na serveru z aplikace ASP.NET Core. Aktualizace uživatelského rozhraní, zpracování událostí a volání JavaScriptu se zpracovávají přes SignalR připojení pomocí protokolu WebSockets. Stav na serveru přidruženém ke každému připojenému klientovi se nazývá okruh. Okruhy nejsou svázané s konkrétním síťovým připojením a mohou tolerovat dočasné přerušení sítě a pokusy klienta o opětovné připojení k serveru při ztrátě připojení.

V tradiční serverově vykreslené aplikaci se otevření stejné aplikace na několika obrazovkách prohlížeče (karet nebo iframes) obvykle nepřekládá na další požadavky na prostředky na serveru. Blazor Server U modelu hostování vyžaduje každá obrazovka prohlížeče samostatný okruh a samostatné instance stavu součásti spravované serverem. Blazordomnívá se, že zavřete kartu prohlížeče nebo přejdete na externí adresu URL a dojde k řádnému ukončení. V případě odkladu ukončení se okruh a přidružené prostředky okamžitě uvolní. Klient se může také bez odkladu odpojit, například kvůli přerušení sítě. Blazor Server ukládá odpojené okruhy pro konfigurovatelný interval, aby se klient mohl znovu připojit.

Prohlížeč komunikuje Blazor (hostovaný v aplikaci ASP.NET Core) na serveru přes SignalR připojení.

V klientovi Blazor skript vytvoří SignalR připojení k serveru. Skript se obsluhuje z vloženého prostředku ve sdíleném rozhraní ASP.NET Core.

Model Blazor Server hostování nabízí několik výhod:

  • Velikost stahování je výrazně menší než při Blazor WebAssembly použití modelu hostování a aplikace se načte mnohem rychleji.
  • Aplikace plně využívá možnosti serveru, včetně použití rozhraní .NET Core API.
  • .NET Core na serveru se používá ke spuštění aplikace, takže existující nástroje .NET, jako je ladění, funguje podle očekávání.
  • Podporují se tenké klienty. Funguje například Blazor Server s prohlížeči, které nepodporují WebAssembly a na zařízeních s omezenými prostředky.
  • Základ kódu .NET/C# aplikace, včetně kódu komponenty aplikace, se klientům obsluhuje.

Model Blazor Server hostování má následující omezení:

  • Vyšší latence obvykle existuje. Každá interakce uživatele zahrnuje segment směrování sítě.
  • Neexistuje žádná offline podpora. Pokud připojení klienta selže, interaktivita selže.
  • Škálováníaplikacích
  • Pro obsluhu aplikace se vyžaduje server ASP.NET Core. Scénáře bezserverového nasazení nejsou možné, například obsluhu aplikace ze sítě pro doručování obsahu (CDN).

Doporučujeme používat službu Azure SignalR pro aplikace, které přijímají Blazor Server model hostování. Služba umožňuje vertikálně navýšit kapacitu Blazor Server aplikace na velký počet souběžných SignalR připojení.

Blazor WebAssembly

Model Blazor WebAssembly hostování spouští komponenty na straně klienta v prohlížeči v modulu runtime .NET založeném na WebAssembly. Razor komponenty, jejich závislosti a modul runtime .NET se stáhnou do prohlížeče. Komponenty se spouští přímo ve vlákně uživatelského rozhraní prohlížeče. Aktualizace uživatelského rozhraní a zpracování událostí probíhají ve stejném procesu. Prostředky se nasazují jako statické soubory na webový server nebo službu schopné obsluhovat statický obsah klientům.

Blazor WebAssembly: Blazor Spouští se ve vlákně uživatelského rozhraní v prohlížeči.

Blazor Webové aplikace můžou pomocí Blazor WebAssembly modelu hostování povolit interaktivitu na straně klienta. Když se vytvoří aplikace, která běží výhradně na hostitelském Blazor WebAssembly modelu bez vykreslování a interaktivity na straně serveru, aplikace se nazývá samostatnáBlazor WebAssembly aplikace.

Blazor WebAssembly Když se aplikace vytvoří pro nasazení bez back-endové aplikace ASP.NET Core, která bude obsluhovat soubory, aplikace se nazývá samostatnáBlazor WebAssembly aplikace.

Když samostatná Blazor WebAssembly aplikace používá back-endovou aplikaci ASP.NET Core k poskytování svých souborů, aplikace se nazývá hostovanáBlazor WebAssembly aplikace. Při hostování Blazor WebAssemblyzískáte plnohodnotné prostředí pro vývoj webu s .NET, včetně možnosti sdílet kód mezi klientskými a serverovými aplikacemi, podporu předběžného nastavení a integraci s MVC a Razor Stránkami. Hostovaná klientská aplikace může komunikovat se svou back-endovou serverovou aplikací přes síť pomocí různých architektur a protokolů pro zasílání zpráv, jako jsou webové rozhraní API, gRPC-web a SignalR (použijte ASP.NET Core SignalR s Blazor).

Blazor WebAssembly Aplikace vytvořená jako progresivní webová aplikace (PWA) používá moderní rozhraní API prohlížeče k povolení mnoha funkcí nativní klientské aplikace, jako je práce offline, spuštění ve vlastním okně aplikace, spuštění z operačního systému hostitele, příjem nabízených oznámení a automatická aktualizace na pozadí.

Skript Blazor zpracovává:

  • Stažení modulu runtime,komponent Razor a závislostí komponenty .NET.
  • Inicializace modulu runtime

Velikost publikované aplikace, její velikost datové části, je kritickým výkonovým faktorem pro použitelnost aplikace. Stažení velké aplikace do prohlížeče trvá poměrně dlouho, což zhoršuje uživatelské prostředí. Blazor WebAssembly optimalizuje velikost datové části, aby se zkrátila doba stahování:

  • Nepoužitý kód se z aplikace odstraní během publikování modulem Intermediate Language (IL) Trimmer.
  • Odpovědi HTTP jsou komprimované.
  • Modul runtime .NET a sestavení se ukládají do mezipaměti v prohlížeči.

Model Blazor WebAssembly hostování nabízí několik výhod:

  • U samostatných Blazor WebAssembly aplikací neexistuje po stažení aplikace ze serveru žádná závislost na straně serveru .NET, takže aplikace zůstane funkční, pokud server přejde do režimu offline.
  • Klientské prostředky a možnosti se plně využívají.
  • Práce se přesměruje ze serveru na klienta.
  • U samostatných Blazor WebAssembly aplikací se k hostování aplikace nevyžaduje webový server ASP.NET Core. Scénáře nasazení bez serveru jsou možné, například obsluhu aplikace ze sítě pro doručování obsahu (CDN).

Model Blazor WebAssembly hostování má následující omezení:

  • Razor komponenty jsou omezeny na možnosti prohlížeče.
  • Vyžaduje se klientský hardware a software (například podpora WebAssembly).
  • Velikost stahování je větší a načtení součástí trvá déle.
  • Kód odeslaný klientovi nemůže být chráněn před kontrolou a manipulací uživatelů.

Interpret jazyka IL (.NET Intermediate Language) zahrnuje částečnou podporu modulu runtime ZA běhu (JIT), která umožňuje dosáhnout lepšího výkonu modulu runtime. Interpret JIT optimalizuje provádění bajtů interpretů tak, že je nahradí malými objekty blob kódu WebAssembly. Interpret JIT je automaticky povolený pro Blazor WebAssembly aplikace s výjimkou ladění.

Blazor podporuje kompilaci AOT (head-of-time), kde můžete kód .NET zkompilovat přímo do WebAssembly. Kompilace AOT vede ke zlepšení výkonu za běhu na úkor větší velikosti aplikace. Další informace najdete v tématu ASP.NET nástroje sestavení Core Blazor WebAssembly a kompilace AOT (Head-of-Time).

Stejné nástroje sestavení .NET WebAssembly používané pro kompilaci AOT také znovu propojte modul runtime .NET WebAssembly a oříznout nepoužívaný kód modulu runtime. Blazor také oříznou nepoužitý kód z knihoven rozhraní .NET Framework. Kompilátor .NET dále předkomprimuje samostatnou Blazor WebAssembly aplikaci pro menší datovou část aplikace.

Komponenty vykreslené Razor webAssembly můžou používat nativní závislosti vytvořené ke spuštění na WebAssembly.

Blazor WebAssembly obsahuje podporu pro oříznutí nepoužívaného kódu z knihoven rozhraní .NET Core. Další informace najdete v tématu ASP.NET globalizace a lokalizace jádraBlazor.

Blazor Hybrid

Blazor lze také použít k vytváření nativních klientských aplikací pomocí hybridního přístupu. Hybridní aplikace jsou nativní aplikace, které využívají webové technologie pro jejich funkce. Blazor Hybrid V aplikaci Razor se komponenty spouští přímo v nativní aplikaci (ne na WebAssembly) spolu s jakýmkoli jiným kódem .NET a vykreslují webové uživatelské rozhraní založené na HTML a CSS na vložený Web View ovládací prvek prostřednictvím místního kanálu vzájemné spolupráce.

Hybridní aplikace s .NET a Blazor vykreslovacím uživatelským rozhraním v ovládacím Web View prvku, kde HTML DOM komunikuje s Blazor nativní desktopovou nebo mobilní aplikací a .NET.

Blazor Hybridaplikace je možné sestavit pomocí různých architektur nativních aplikací .NET, včetně .NET MAUIrozhraní WPF a model Windows Forms. Blazor poskytuje BlazorWebView ovládací prvky pro přidávání Razor komponent do aplikací vytvořených pomocí těchto architektur. Použití Blazor s .NET MAUI nabízí pohodlný způsob, jak vytvářet multiplatformní Blazor Hybrid aplikace pro mobilní a desktopové aplikace, zatímco Blazor integrace s WPF a model Windows Forms může být skvělým způsobem, jak modernizovat stávající aplikace.

Vzhledem k tomu Blazor Hybrid , že aplikace jsou nativní aplikace, můžou podporovat funkce, které nejsou dostupné jenom u webové platformy. Blazor Hybrid aplikace mají úplný přístup k funkcím nativní platformy prostřednictvím normálních rozhraní .NET API. Blazor Hybrid aplikace můžou také sdílet a opakovaně používat komponenty s existujícími Blazor Server aplikacemi nebo Blazor WebAssembly aplikacemi. Blazor Hybrid aplikace kombinují výhody webu, nativních aplikací a platformy .NET.

Model Blazor Hybrid hostování nabízí několik výhod:

  • Znovu použijte existující komponenty, které se dají sdílet napříč mobilními, desktopovými a webovými aplikacemi.
  • Využijte dovednosti, zkušenosti a zdroje informací o vývoji webu.
  • Aplikace mají úplný přístup k nativním funkcím zařízení.

Model Blazor Hybrid hostování má následující omezení:

  • Pro každou cílovou platformu je nutné sestavit, nasadit a udržovat samostatné nativní klientské aplikace.
  • Nativní klientské aplikace obvykle trvá déle, než zjistí, stáhne a nainstaluje přístup k webové aplikaci v prohlížeči.

Další informace najdete v tématu ASP.NET Core Blazor Hybrid.

Další informace o nativních klientských architekturách Microsoftu najdete v následujících zdrojích informací:

Který Blazor model hostování mám zvolit?

Model hostování komponenty je nastaven režimem vykreslování, a to buď v době kompilace nebo za běhu, což je popsáno s příklady v režimu vykreslování ASP.NET CoreBlazor. Následující tabulka ukazuje hlavní aspekty nastavení režimu vykreslování pro určení modelu hostování komponenty. U samostatných Blazor WebAssembly aplikací se všechny komponenty aplikace vykreslují na klientovi pomocí Blazor WebAssembly modelu hostování.

Blazor Vyberte model hostování na základě požadavků na funkce aplikace. Následující tabulka uvádí hlavní aspekty výběru modelu hostování.

Blazor Hybridaplikace zahrnují .NET MAUIaplikace WPF a model Windows Forms framework.

Funkce Blazor Server Blazor WebAssembly (WASM) Blazor Hybrid
Dokončení kompatibility rozhraní .NET API Podporovaný Nepodporováno Podporovaný
Přímý přístup k serveru a síťovým prostředkům Podporovaný Nepodporuje se Nepodporuje se
Malá datová část s rychlým počátečním časem načítání Podporovaný Nepodporováno Nepodporováno
Téměř nativní rychlost spouštění Podporovaný Podporováno: Podporovaný
Zabezpečený a privátní kód aplikace na serveru Podporovaný Nepodporuje se Nepodporuje se
Spuštění aplikací offline po stažení Nepodporováno Podporovaný Podporovaný
Hostování statického webu Nepodporováno Podporovaný Nepodporováno
Přesměrování zpracování na klienty Nepodporováno Podporovaný Podporovaný
Úplný přístup k možnostem nativního klienta Nepodporováno Nepodporováno Podporovaný
Nasazení založené na webu Podporovaný Podporovaný Nepodporováno

Blazor WebAssembly† a Blazor Hybrid aplikace můžou používat serverová rozhraní API pro přístup k prostředkům serveru/sítě a přístupu k privátnímu a zabezpečenému kódu aplikace.
•Blazor WebAssembly Dosahuje téměř nativního výkonu pouze s kompilací AOT (Head-of-Time).

Funkce Blazor Server Blazor WebAssembly (WASM)
Dokončení kompatibility rozhraní .NET API Podporovaný Nepodporováno
Přímý přístup k serveru a síťovým prostředkům Podporovaný Nepodporuje se
Malá datová část s rychlým počátečním časem načítání Podporovaný Nepodporováno
Zabezpečený a privátní kód aplikace na serveru Podporovaný Nepodporuje se
Spuštění aplikací offline po stažení Nepodporováno Podporovaný
Hostování statického webu Nepodporováno Podporovaný
Přesměrování zpracování na klienty Nepodporováno Podporovaný

Blazor WebAssembly† aplikace můžou používat serverová rozhraní API pro přístup k prostředkům serveru nebo sítě a přístupu k privátnímu a zabezpečenému kódu aplikace.

Po výběru modelu hostování aplikace můžete vygenerovat Blazor Server aplikaci ze Blazor WebAssembly Blazor šablony projektu. Další informace naleznete v tématu Nástroje pro ASP.NET Core Blazor.

Pokud chcete vytvořit Blazor Hybrid aplikaci, podívejte se na články v ASP.NET základních Blazor Hybrid kurzech.

Dokončení kompatibility rozhraní .NET API

Komponenty vykreslené pro Blazor Server model hostování a Blazor Hybrid aplikace mají úplnou kompatibilitu rozhraní .NET API, zatímco součásti vykreslené pro Blazor WebAssembly jsou omezené na podmnožinu rozhraní .NET API. Pokud specifikace aplikace vyžaduje jedno nebo více rozhraní API .NET, která nejsou k dispozici pro komponenty webAssembly vykreslené, a pak se rozhodnete vykreslit komponenty pro Blazor Server nebo použít Blazor Hybrid.

Blazor Server a Blazor Hybrid aplikace mají úplnou kompatibilitu rozhraní .NET API, zatímco Blazor WebAssembly aplikace jsou omezené na podmnožinu rozhraní .NET API. Pokud specifikace aplikace vyžaduje jedno nebo více rozhraní API .NET, která nejsou k dispozici pro Blazor WebAssembly aplikace, zvolte Blazor Server nebo Blazor Hybrid.

Blazor Server aplikace mají úplnou kompatibilitu rozhraní .NET API, zatímco Blazor WebAssembly aplikace jsou omezené na podmnožinu rozhraní .NET API. Pokud specifikace aplikace vyžaduje jedno nebo více rozhraní .NET API, která nejsou k dispozici pro Blazor WebAssembly aplikace, a pak zvolte Blazor Server.

Přímý přístup k serveru a síťovým prostředkům

Komponenty vykreslené pro Blazor Server model hostování mají přímý přístup k serveru a síťovým prostředkům, ve kterých se aplikace spouští. Vzhledem k tomu, že komponenty hostované pomocí Blazor WebAssembly nebo Blazor Hybrid spouštění na klientovi nemají přímý přístup k serverovým a síťovým prostředkům. Komponenty můžou přistupovat k serverovým a síťovým prostředkům nepřímo prostřednictvím chráněných serverových rozhraní API. Serverová rozhraní API můžou být dostupná prostřednictvím knihoven, balíčků a služeb třetích stran. Vezměte v úvahu následující aspekty:

  • Knihovny, balíčky a služby třetích stran můžou být nákladné pro implementaci a údržbu, slabě podporované nebo zavedení bezpečnostních rizik.
  • Pokud vaše organizace interně vyvíjí jedno nebo více serverových rozhraní API, vyžadují se k jejich sestavení a údržbě další prostředky.

Blazor Server Pomocí modelu hostování se vyhnete nutnosti zveřejnit rozhraní API ze serverového prostředí.

Blazor Server aplikace mají přímý přístup k serverům a síťovým prostředkům, ve kterých se aplikace spouští. Vzhledem k tomu Blazor WebAssembly , že se Blazor Hybrid aplikace spouští na klientovi, nemají přímý přístup k serverovým a síťovým prostředkům. Blazor WebAssembly a Blazor Hybrid aplikace můžou přistupovat k serverovým a síťovým prostředkům nepřímo prostřednictvím chráněných serverových rozhraní API. Serverová rozhraní API můžou být dostupná prostřednictvím knihoven, balíčků a služeb třetích stran. Vezměte v úvahu následující aspekty:

  • Knihovny, balíčky a služby třetích stran můžou být nákladné pro implementaci a údržbu, slabě podporované nebo zavedení bezpečnostních rizik.
  • Pokud vaše organizace interně vyvíjí jedno nebo více serverových rozhraní API, vyžadují se k jejich sestavení a údržbě další prostředky.

Abyste se vyhnuli serverovým rozhraním API pro Blazor WebAssembly aplikace nebo Blazor Hybrid aplikacím, přijměte Blazor Serverpřístup k serveru a síťovým prostředkům přímo.

Blazor Server aplikace mají přímý přístup k serverům a síťovým prostředkům, ve kterých se aplikace spouští. Vzhledem k tomu Blazor WebAssembly , že aplikace běží na klientovi, nemají přímý přístup k serverovým a síťovým prostředkům. Blazor WebAssembly aplikace můžou přistupovat k serverovým a síťovým prostředkům nepřímo prostřednictvím chráněných serverových rozhraní API. Serverová rozhraní API můžou být dostupná prostřednictvím knihoven, balíčků a služeb třetích stran. Vezměte v úvahu následující aspekty:

  • Knihovny, balíčky a služby třetích stran můžou být nákladné pro implementaci a údržbu, slabě podporované nebo zavedení bezpečnostních rizik.
  • Pokud vaše organizace interně vyvíjí jedno nebo více serverových rozhraní API, vyžadují se k jejich sestavení a údržbě další prostředky.

Abyste se vyhnuli serverovým rozhraním API pro Blazor WebAssembly aplikace, osvojte si Blazor Serverpřístup k serverovým a síťovým prostředkům přímo.

Malá datová část s rychlým počátečním časem načítání

Vykreslování komponent ze serveru snižuje velikost datové části aplikace a zlepšuje počáteční dobu načítání. Pokud potřebujete rychlou počáteční dobu načítání, použijte Blazor Server model hostování nebo zvažte vykreslování na straně statického serveru.

Blazor Server aplikace mají relativně malé velikosti datové části s rychlejší počáteční dobou načítání. Pokud je požadovaná rychlá počáteční doba načítání, přijměte Blazor Server.

Téměř nativní rychlost spouštění

Blazor Hybrid aplikace běží s využitím modulu runtime .NET nativně na cílové platformě, která nabízí nejlepší možnou rychlost.

Komponenty vykreslené pro Blazor WebAssembly model hostování, včetně progresivních webových aplikací (PWA) a samostatných Blazor WebAssembly aplikací běží pomocí modulu runtime .NET pro WebAssembly, což je pomalejší než spouštění přímo na platformě. Zvažte použití předem zkompilovaných (AOT) ke zlepšení výkonu modulu runtime při použití Blazor WebAssembly.

Blazor Hybrid aplikace běží s využitím modulu runtime .NET nativně na cílové platformě, která nabízí nejlepší možnou rychlost.

Blazor WebAssembly, včetně progresivních webových aplikací (PWAs), aplikace běží pomocí modulu runtime .NET pro WebAssembly, což je pomalejší než spouštění přímo na platformě, a to i pro aplikace, které jsou předem zkompilovány pro WebAssembly v prohlížeči.

Blazor Server aplikace se na serveru obvykle spouštějí rychle.

Blazor WebAssembly aplikace běží pomocí modulu runtime .NET pro WebAssembly, což je pomalejší než spouštění přímo na platformě.

Zabezpečený a privátní kód aplikace na serveru

Zabezpečená a soukromá údržba kódu aplikace na serveru je integrovaná funkce komponent vykreslovaných pro Blazor Server model hostování. Komponenty vykreslené pomocí Blazor WebAssembly modelů nebo Blazor Hybrid modelů hostování můžou používat serverová rozhraní API pro přístup k funkcím, které musí být udržovány v privátním a zabezpečeném prostředí. Platí důležité informace o vývoji a údržbě serverových rozhraní API popsaných v části Přímý přístup k serveru a síťovým prostředkům . Pokud vývoj a údržba serverových rozhraní API není žádoucí pro zachování zabezpečeného a privátního kódu aplikace, vykreslujte komponenty pro Blazor Server model hostování.

Zabezpečená a soukromá údržba kódu aplikace na serveru je integrovaná funkce Blazor Server. Blazor WebAssembly a Blazor Hybrid aplikace můžou používat serverová rozhraní API pro přístup k funkcím, které musí být soukromé a zabezpečené. Platí důležité informace o vývoji a údržbě serverových rozhraní API popsaných v části Přímý přístup k serveru a síťovým prostředkům . Pokud vývoj a údržba serverových rozhraní API není žádoucí pro zachování zabezpečeného a privátního kódu aplikace, osvojte Blazor Server si model hostování.

Zabezpečená a soukromá údržba kódu aplikace na serveru je integrovaná funkce Blazor Server. Blazor WebAssembly aplikace můžou používat serverová rozhraní API pro přístup k funkcím, které musí být soukromé a zabezpečené. Platí důležité informace o vývoji a údržbě serverových rozhraní API popsaných v části Přímý přístup k serveru a síťovým prostředkům . Pokud vývoj a údržba serverových rozhraní API není žádoucí pro zachování zabezpečeného a privátního kódu aplikace, osvojte Blazor Server si model hostování.

Spuštění aplikací offline po stažení

Samostatné Blazor WebAssembly aplikace vytvořené jako progresivní webové aplikace (PWA) a Blazor Hybrid aplikace můžou běžet offline, což je užitečné hlavně v případě, že se klienti nemůžou připojit k internetu. Součásti vykreslené pro Blazor Server model hostování se nepodaří spustit, když dojde ke ztrátě připojení k serveru. Pokud aplikace musí běžet offline, samostatná Blazor WebAssembly a Blazor Hybrid nejlepší volba.

Blazor WebAssembly aplikace vytvořené jako progresivní webové aplikace (PWA) a Blazor Hybrid aplikace můžou běžet offline, což je užitečné hlavně v případě, že se klienti nemůžou připojit k internetu. Blazor Server aplikace se nespustí, když dojde ke ztrátě připojení k serveru. Pokud aplikace musí běžet offline a Blazor WebAssembly Blazor Hybrid jsou to nejlepší možnosti.

Blazor WebAssembly aplikace můžou běžet offline, což je užitečné hlavně v případě, že se klienti nemůžou připojit k internetu. Blazor Server aplikace se nespustí, když dojde ke ztrátě připojení k serveru. Pokud aplikace musí běžet offline, Blazor WebAssembly je nejlepší volbou.

Hostování statického webu

Hostování statických webů je možné se samostatnými Blazor WebAssembly aplikacemi, protože se stáhnou do klientů jako sady statických souborů. Samostatné Blazor WebAssembly aplikace nevyžadují, aby server spustil kód na straně serveru, aby bylo možné ho stáhnout a spustit a doručovat ho prostřednictvím sítě pro doručování obsahu (CDN) (například Azure CDN).

Přestože Blazor Hybrid se aplikace kompilují do jednoho nebo více prostředků nasazení, prostředky se obvykle poskytují klientům prostřednictvím obchodu s aplikacemi třetích stran. Pokud je statický hostování požadavkem aplikace, vyberte samostatný Blazor WebAssembly.

Přesměrování zpracování na klienty

Komponenty vykreslené pomocí Blazor WebAssembly modelů hostování Blazor Hybrid se spouštějí na klientech, a proto se zpracování přesměrují na klienty. Komponenty vykreslované pro Blazor Server model hostování se spouští na serveru, takže poptávka po prostředcích serveru se obvykle zvyšuje s počtem uživatelů a objemem zpracování vyžadovaným pro jednotlivé uživatele. Pokud je možné přesměrovat většinu nebo všechny zpracování aplikace na klienty a aplikaci zpracovává značné množství dat, Blazor WebAssembly nebo Blazor Hybrid je nejlepší volbou.

Blazor WebAssembly a Blazor Hybrid aplikace se spouštějí na klientech, a proto se zpracování přesměruje na klienty. Blazor Server aplikace se spouští na serveru, takže poptávka po prostředcích serveru se obvykle zvyšuje s počtem uživatelů a objemem zpracování vyžadovaným pro jednotlivé uživatele. Pokud je možné přesměrovat většinu nebo všechny zpracování aplikace na klienty a aplikaci zpracovává značné množství dat, Blazor WebAssembly nebo Blazor Hybrid je nejlepší volbou.

Blazor WebAssembly aplikace se spouštějí na klientech, a proto se zpracování přesměruje na klienty. Blazor Server aplikace se spouští na serveru, takže poptávka po prostředcích serveru se obvykle zvyšuje s počtem uživatelů a objemem zpracování vyžadovaným pro jednotlivé uživatele. Pokud je možné přesměrovat většinu zpracování aplikace na klienty a aplikace zpracovává značné množství dat, Blazor WebAssembly je nejlepší volbou.

Úplný přístup k možnostem nativního klienta

Blazor Hybrid aplikace mají úplný přístup k nativním funkcím rozhraní API klienta prostřednictvím rozhraní .NET Native App Framework. V Blazor Hybrid aplikacích Razor se komponenty spouštějí přímo v nativní aplikaci, ne na WebAssembly. Pokud jsou požadavky na úplné možnosti klienta, Blazor Hybrid je nejlepší volbou.

Nasazení založené na webu

Blazor webové aplikace se aktualizují při příští aktualizaci aplikace z prohlížeče.

Blazor Hybrid aplikace jsou nativní klientské aplikace, které obvykle vyžadují instalační program a mechanismus nasazení specifický pro platformu.

Nastavení modelu hostování komponenty

Chcete-li nastavit model hostování komponenty na Blazor Server Blazor WebAssembly nebo v době kompilace nebo dynamicky za běhu, nastavíte jeho režim vykreslování. Režimy vykreslení jsou plně vysvětlené a demonstrují je v článku o režimech vykreslování ASP.NET CoreBlazor. Nedoporučujeme přejít z tohoto článku přímo na článek Režimy vykreslování bez čtení obsahu v článcích mezi těmito dvěma články. Režimy vykreslování jsou například snadněji pochopitelné v Razor příkladech komponent, ale základní Razor struktura komponent a funkce nejsou popsané, dokud se nedosáhnou základní informace o ASP.NET Blazor základních informacích. Než začnete pracovat s příklady komponent v článku Režimy vykreslování, je také užitečné se seznámit se Blazoršablonami projektů a nástroji.