Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.
Ostrzeżenie
Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej platformy .NET i platformy .NET Core. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.
W tym artykule opisano pliki i foldery tworzące aplikację Blazor wygenerowaną Blazor na podstawie szablonu projektu.
Blazor Web App
Blazor Web App szablon projektu: blazor
Szablon Blazor Web App projektu zapewnia pojedynczy punkt wyjścia do używania Razor składników (.razor) do tworzenia dowolnego stylu internetowego interfejsu użytkownika, renderowanego po stronie serwera i renderowanego po stronie klienta. Łączy mocne elementy Blazor ServerBlazor WebAssembly i z renderowaniem po stronie serwera i po stronie klienta, renderowaniem przesyłanym strumieniowo, rozszerzoną obsługą nawigacji i formularzy oraz możliwością dodawania interakcyjności przy użyciu Blazor Server metody lub Blazor WebAssembly na podstawie poszczególnych składników.
Jeśli podczas tworzenia aplikacji wybrano renderowanie po stronie klienta (CSR) i interaktywne renderowanie po stronie serwera (interakcyjne SSR), szablon projektu używa trybu renderowania interakcyjnego. Tryb automatycznego renderowania początkowo używa interakcyjnego przewodnika SSR, podczas gdy pakiet aplikacji platformy .NET i środowisko uruchomieniowe są pobierane do przeglądarki. Po aktywowaniu środowiska uruchomieniowego zestawu WebAssembly platformy .NET renderowanie przełącza się na csr.
Szablon Blazor Web App umożliwia renderowanie statyczne i interaktywne po stronie serwera przy użyciu jednego projektu. Jeśli włączysz również renderowanie interactive WebAssembly, projekt zawiera dodatkowy projekt klienta (.Client) dla składników opartych na zestawie WebAssembly. Skompilowane dane wyjściowe z projektu klienta są pobierane do przeglądarki i wykonywane na kliencie. Składniki korzystające z interakcyjnych trybów renderowania WebAssembly lub Interactive Auto muszą znajdować się w projekcie .Client .
Struktura folderów składników .Client projektu różni się od Blazor Web Appgłównej struktury folderów projektu, ponieważ głównym projektem jest standardowy projekt ASP.NET Core. Główny projekt musi uwzględniać inne zasoby dla projektów ASP.NET Core, które nie są powiązane z Blazor. Możesz użyć dowolnej struktury folderów składników, której chcesz użyć w projekcie .Client . Jeśli chcesz, możesz dublować układ folderu składnika głównego projektu w projekcie .Client . Należy pamiętać, że przestrzenie nazw mogą wymagać korekt dla takich zasobów, jak pliki układu, jeśli przenosisz składniki do różnych folderów niż szablon projektu.
Więcej informacji na temat składników i trybów renderowania znajduje się w artykułach ASP.NET Core Razor components and ASP.NET Core Blazor render tryby .
Na podstawie trybu renderowania interakcyjnego wybranego podczas tworzenia Layout aplikacji folder znajduje się w projekcie serwera w Components folderze lub w katalogu głównym .Client projektu. Folder zawiera następujące składniki układu i arkusze stylów:
- Składnik
MainLayout(MainLayout.razor) jest składnikiem układu aplikacji. -
MainLayout.razor.cssto umieszczony obok komponentu arkusz stylów aplikacji służący do głównego układu. - Składnik
NavMenu(NavMenu.razor) implementuje nawigację na pasku bocznym. Składnik zawieraNavLinkskładniki (NavLink), które renderować łącza nawigacji do innych Razor składników. Składnik NavLink wskazuje użytkownikowi, który składnik jest aktualnie wyświetlany. - Jest
NavMenu.razor.cssto powiązany arkusz stylów dla menu nawigacji aplikacji. - Składnik
ReconnectModalodzwierciedla stan połączenia po stronie serwera w interfejsie użytkownika i jest uwzględniany, gdy interaktywny tryb renderowania aplikacji jest interaktywnym serwerem lub interakcyjnym automatycznym. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące platformy ASP.NET CoreBlazorSignalR. - Jest
ReconnectModal.razor.cssto skojarzony arkusz stylów dla składnikaReconnectModal. -
ReconnectModal.razor.jsjest współlokalizowanym plikiem JavaScript dla składnikaReconnectModal.
- Składnik
MainLayout(MainLayout.razor) jest składnikiem układu aplikacji. -
MainLayout.razor.cssto umieszczony obok komponentu arkusz stylów aplikacji służący do głównego układu. - Składnik
NavMenu(NavMenu.razor) implementuje nawigację na pasku bocznym. Składnik zawieraNavLinkskładniki (NavLink), które renderować łącza nawigacji do innych Razor składników. Składnik NavLink wskazuje użytkownikowi, który składnik jest aktualnie wyświetlany. - Jest
NavMenu.razor.cssto powiązany arkusz stylów dla menu nawigacji aplikacji.
Składnik Routes (Routes.razor) znajduje się w projekcie serwera lub .Client projekcie i konfiguruje routing przy użyciu Router składnika. W przypadku składników Router interaktywnych po stronie klienta składnik przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.
Folder Components projektu serwera zawiera składniki po stronie Razor serwera aplikacji. Składniki udostępnione są często umieszczane w folderze głównym Components folderu, natomiast składniki układu i strony są zwykle umieszczane w folderach w folderze Components .
Folder Components/Pages projektu serwera zawiera składniki po stronie Razor serwera aplikacji. Trasa dla każdej strony jest określana przy użyciu @page dyrektywy .
moniker range=">= aspnetcore-10.0"
Składnik NotFound (NotFound.razor) implementuje stronę z komunikatem "Nie znaleziono", aby wyświetlić ją, gdy zawartość nie zostanie znaleziona dla ścieżki żądania. Aby uzyskać więcej informacji, zobacz nawigację ASP.NET CoreBlazor.
zakończenie monikera
Składnik App () jest składnikiem głównym aplikacji z adiustacjami HTMLApp.razor, <head> składnikiem i tagiemRoutesBlazor.<script> Składnik główny jest pierwszym składnikiem ładowany przez aplikację.
Plik _Imports.razor w każdym serwerze i .Client projektach zawiera wspólne Razor dyrektywy dla Razor składników każdego projektu, takie jak @using dyrektywy dla przestrzeni nazw.
Folder Properties projektu serwera zawiera konfigurację środowiska programistycznego launchSettings.json w pliku.
Uwaga
Profil http poprzedza https profil w launchSettings.json pliku . Po uruchomieniu aplikacji przy użyciu interfejsu wiersza polecenia platformy .NET aplikacja jest uruchamiana w punkcie końcowym HTTP, ponieważ pierwszy znaleziony profil to http. Kolejność profilów ułatwia przejście wdrażania protokołu HTTPS dla użytkowników systemów Linux i macOS. Jeśli wolisz uruchomić aplikację przy użyciu interfejsu wiersza polecenia platformy .NET bez konieczności przekazywania -lp https polecenia lub --launch-profile https do dotnet watch polecenia (lub dotnet run), wystarczy umieścić https profil nad profilem http w pliku.
Folderem wwwroot projektu serwera jest folder główny sieci Web dla projektu serwera, który zawiera publiczne zasoby statyczne aplikacji.
Program.cs Plik projektu serwera jest punktem wejścia projektu, który konfiguruje hosta aplikacji internetowej ASP.NET Core i zawiera logikę uruchamiania aplikacji, w tym rejestracje usług, konfigurację, rejestrowanie i potok przetwarzania żądań:
- Usługi dla składników Razor są dodawane przez wywołanie AddRazorComponents. AddInteractiveServerComponents dodaje usługi do obsługi renderowania składników serwera interaktywnego. AddInteractiveWebAssemblyComponents dodaje usługi do obsługi renderowania składników Interactive WebAssembly.
-
MapRazorComponents odnajduje dostępne składniki i określa składnik główny aplikacji (pierwszy załadowany składnik), który domyślnie jest składnikiem
App(App.razor). AddInteractiveServerRenderMode Konfiguruje interaktywne renderowanie po stronie serwera (interakcyjne SSR) dla aplikacji. AddInteractiveWebAssemblyRenderMode Konfiguruje tryb renderowania Interactive WebAssembly dla aplikacji.
Pliki ustawień aplikacji (appsettings.Development.json, appsettings.json) na serwerze lub .Client projekcie zapewniają ustawienia konfiguracji. W projekcie serwera pliki ustawień znajdują się w katalogu głównym projektu. W projekcie .Client pliki ustawień są używane z folderu głównego sieci Web. wwwroot
W projekcie .Client :
Folder
Pageszawiera składniki po stronie klienta routingu Razor . Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy .Folder
wwwrootjest folderem głównym sieci Web dla.Clientprojektu, który zawiera publiczne zasoby statyczne aplikacji.Plik
Program.csjest punktem wejścia projektu, który konfiguruje hosta zestawu WebAssembly i zawiera logikę uruchamiania projektu, w tym rejestracje usług, konfigurację, rejestrowanie i potok przetwarzania żądań.
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor Web App dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor Server
Blazor Server szablony projektów: blazorserver, blazorserver-empty
Szablony Blazor Server tworzą początkowe pliki i strukturę katalogów dla Blazor Server aplikacji:
-
blazorserverJeśli szablon jest używany, aplikacja zostanie wypełniona następującymi elementami:- Kod demonstracyjny dla
FetchDataskładnika, który ładuje dane z usługi prognozy pogody (WeatherForecastService) i interakcji użytkownika ze składnikiemCounter. - Zestaw narzędzi frontonu bootstrap .
- Kod demonstracyjny dla
-
blazorserver-emptyJeśli szablon jest używany, aplikacja jest tworzona bez demonstracyjnego kodu i bootstrap.
Struktura projektu:
Datafolder: zawiera klasęWeatherForecasti implementacjęWeatherForecastServiceelementu , która dostarcza przykładowe dane pogodowe do składnika aplikacjiFetchData.Pagesfolder: zawiera Blazor składniki routingu Razor aplikacji (.razor) i stronę Razor główną Blazor Server aplikacji. Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące elementy:-
_Host.cshtml: strona główna aplikacji zaimplementowana jako Razor strona:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona Host określa, gdzie jest renderowany składnik główny
App(App.razor).
-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Errorcomponent (Error.razor): Renderowane, gdy w aplikacji wystąpi nieobsługiwany wyjątek. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierającej publiczne zasoby statyczne aplikacji._Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.appsettings.jsoni pliki ustawień aplikacji środowiskowych: podaj ustawienia konfiguracji aplikacji.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta ASP.NET Core i zawiera logikę uruchamiania aplikacji, w tym rejestracje usługi i konfigurację potoku przetwarzania żądań:- Określa usługi wstrzykiwania zależności aplikacji (DI). Usługi są dodawane przez wywołanie AddServerSideBlazormetody , a
WeatherForecastServiceelement jest dodawany do kontenera usługi do użycia przez przykładowyFetchDataskładnik. - Konfiguruje potok obsługi żądań aplikacji:
- MapBlazorHub Jest wywoływana w celu skonfigurowania punktu końcowego dla połączenia w czasie rzeczywistym z przeglądarką. Połączenie jest tworzone za pomocą SignalRpolecenia , która jest strukturą umożliwiającą dodawanie funkcji internetowych w czasie rzeczywistym do aplikacji.
-
MapFallbackToPage("/_Host")Jest wywoływana w celu skonfigurowania strony głównej aplikacji (Pages/_Host.cshtml) i włączenia nawigacji.
- Określa usługi wstrzykiwania zależności aplikacji (DI). Usługi są dodawane przez wywołanie AddServerSideBlazormetody , a
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor Server dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor Server szablon projektu: blazorserver
Szablon Blazor Server tworzy początkowe pliki i strukturę katalogów dla Blazor Server aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData składnika, który ładuje dane z zarejestrowanej usługi, WeatherForecastServiceoraz interakcję użytkownika ze składnikiem Counter .
Datafolder: zawiera klasęWeatherForecasti implementacjęWeatherForecastServiceelementu , która dostarcza przykładowe dane pogodowe do składnika aplikacjiFetchData.Pagesfolder: zawiera Blazor składniki routingu Razor aplikacji (.razor) i stronę Razor główną Blazor Server aplikacji. Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące elementy:-
_Host.cshtml: strona główna aplikacji zaimplementowana jako Razor strona:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona Host określa, gdzie jest renderowany składnik główny
App(App.razor).
-
_Layout.cshtml: strona układu strony głównej_Host.cshtmlaplikacji. -
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Errorcomponent (Error.razor): Renderowane, gdy w aplikacji wystąpi nieobsługiwany wyjątek. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierającej publiczne zasoby statyczne aplikacji._Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.appsettings.jsoni pliki ustawień aplikacji środowiskowych: podaj ustawienia konfiguracji aplikacji.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta ASP.NET Core i zawiera logikę uruchamiania aplikacji, w tym rejestracje usługi i konfigurację potoku przetwarzania żądań:- Określa usługi wstrzykiwania zależności aplikacji (DI). Usługi są dodawane przez wywołanie AddServerSideBlazormetody , a
WeatherForecastServiceelement jest dodawany do kontenera usługi do użycia przez przykładowyFetchDataskładnik. - Konfiguruje potok obsługi żądań aplikacji:
- MapBlazorHub Jest wywoływana w celu skonfigurowania punktu końcowego dla połączenia w czasie rzeczywistym z przeglądarką. Połączenie jest tworzone za pomocą SignalRpolecenia , która jest strukturą umożliwiającą dodawanie funkcji internetowych w czasie rzeczywistym do aplikacji.
-
MapFallbackToPage("/_Host")Jest wywoływana w celu skonfigurowania strony głównej aplikacji (Pages/_Host.cshtml) i włączenia nawigacji.
- Określa usługi wstrzykiwania zależności aplikacji (DI). Usługi są dodawane przez wywołanie AddServerSideBlazormetody , a
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor Server dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor Server szablon projektu: blazorserver
Szablon Blazor Server tworzy początkowe pliki i strukturę katalogów dla Blazor Server aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData składnika, który ładuje dane z zarejestrowanej usługi, WeatherForecastServiceoraz interakcję użytkownika ze składnikiem Counter .
Datafolder: zawiera klasęWeatherForecasti implementacjęWeatherForecastServiceelementu , która dostarcza przykładowe dane pogodowe do składnika aplikacjiFetchData.Pagesfolder: zawiera Blazor składniki routingu Razor aplikacji (.razor) i stronę Razor główną Blazor Server aplikacji. Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące elementy:-
_Host.cshtml: strona główna aplikacji zaimplementowana jako Razor strona:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona Host określa, gdzie jest renderowany składnik główny
App(App.razor).
-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Errorcomponent (Error.razor): Renderowane, gdy w aplikacji wystąpi nieobsługiwany wyjątek. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierającej publiczne zasoby statyczne aplikacji._Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.appsettings.jsoni pliki ustawień aplikacji środowiskowych: podaj ustawienia konfiguracji aplikacji.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta ASP.NET Core.Startup.cs: zawiera logikę uruchamiania aplikacji. KlasaStartupdefiniuje dwie metody:-
ConfigureServices: konfiguruje usługi wstrzykiwania zależności (DI) aplikacji. Usługi są dodawane przez wywołanie AddServerSideBlazormetody , aWeatherForecastServiceelement jest dodawany do kontenera usługi do użycia przez przykładowyFetchDataskładnik. -
Configure: Konfiguruje potok obsługi żądań aplikacji:- MapBlazorHub Jest wywoływana w celu skonfigurowania punktu końcowego dla połączenia w czasie rzeczywistym z przeglądarką. Połączenie jest tworzone za pomocą SignalRpolecenia , która jest strukturą umożliwiającą dodawanie funkcji internetowych w czasie rzeczywistym do aplikacji.
-
MapFallbackToPage("/_Host")Jest wywoływana w celu skonfigurowania strony głównej aplikacji (Pages/_Host.cshtml) i włączenia nawigacji.
-
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor Server dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor Server szablon projektu: blazorserver
Szablon Blazor Server tworzy początkowe pliki i strukturę katalogów dla Blazor Server aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData składnika, który ładuje dane z zarejestrowanej usługi, WeatherForecastServiceoraz interakcję użytkownika ze składnikiem Counter .
Datafolder: zawiera klasęWeatherForecasti implementacjęWeatherForecastServiceelementu , która dostarcza przykładowe dane pogodowe do składnika aplikacjiFetchData.Pagesfolder: zawiera Blazor składniki routingu Razor aplikacji (.razor) i stronę Razor główną Blazor Server aplikacji. Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące elementy:-
_Host.cshtml: strona główna aplikacji zaimplementowana jako Razor strona:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona Host określa, gdzie jest renderowany składnik główny
App(App.razor).
-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Errorcomponent (Error.razor): Renderowane, gdy w aplikacji wystąpi nieobsługiwany wyjątek. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierającej publiczne zasoby statyczne aplikacji._Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.appsettings.jsoni pliki ustawień aplikacji środowiskowych: podaj ustawienia konfiguracji aplikacji.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta ASP.NET Core.Startup.cs: zawiera logikę uruchamiania aplikacji. KlasaStartupdefiniuje dwie metody:-
ConfigureServices: konfiguruje usługi wstrzykiwania zależności (DI) aplikacji. Usługi są dodawane przez wywołanie AddServerSideBlazormetody , aWeatherForecastServiceelement jest dodawany do kontenera usługi do użycia przez przykładowyFetchDataskładnik. -
Configure: Konfiguruje potok obsługi żądań aplikacji:- MapBlazorHub Jest wywoływana w celu skonfigurowania punktu końcowego dla połączenia w czasie rzeczywistym z przeglądarką. Połączenie jest tworzone za pomocą SignalRpolecenia , która jest strukturą umożliwiającą dodawanie funkcji internetowych w czasie rzeczywistym do aplikacji.
-
MapFallbackToPage("/_Host")Jest wywoływana w celu skonfigurowania strony głównej aplikacji (Pages/_Host.cshtml) i włączenia nawigacji.
-
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor Server dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Samodzielny Blazor WebAssembly
Blazor WebAssembly Autonomiczny szablon projektu:blazorwasm
Szablon Blazor WebAssembly tworzy początkowe pliki i strukturę katalogów dla aplikacji autonomicznej Blazor WebAssembly :
-
blazorwasmJeśli szablon jest używany, aplikacja zostanie wypełniona następującymi elementami:- Kod demonstracyjny dla
Weatherskładnika, który ładuje dane ze statycznego zasobu (weather.json) i interakcji użytkownika ze składnikiemCounter. - Zestaw narzędzi frontonu bootstrap .
- Kod demonstracyjny dla
- Szablon
blazorwasmmożna również wygenerować bez przykładowych stron i stylów.
Struktura projektu:
-
Layoutfolder: zawiera następujące składniki układu i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji.
-
koniec identyfikatora
moniker range=">= aspnetcore-10.0"
-
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Indexcomponent (Index.razor): implementuje Home stronę. -
Weathercomponent (Weather.razor): implementuje stronę Pogoda. -
NotFoundkomponent (NotFound.razor): Implementuje stronę błędu 'Nie znaleziono' do wyświetlania, gdy zawartość nie jest znaleziona dla ścieżki żądania. Aby uzyskać więcej informacji, zobacz nawigację ASP.NET CoreBlazor.
-
moniker-end
moniker range=">= aspnetcore-8.0 < aspnetcore-10.0"
-
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
Indexcomponent (Index.razor): implementuje Home stronę. -
Weathercomponent (Weather.razor): implementuje stronę Pogoda.
-
koniec-monikera
moniker range=">= aspnetcore-8.0"
_Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Uwaga
Profil
httppoprzedzahttpsprofil wlaunchSettings.jsonpliku . Po uruchomieniu aplikacji przy użyciu interfejsu wiersza polecenia platformy .NET aplikacja jest uruchamiana w punkcie końcowym HTTP, ponieważ pierwszy znaleziony profil tohttp. Kolejność profilów ułatwia przejście wdrażania protokołu HTTPS dla użytkowników systemów Linux i macOS. Jeśli wolisz uruchomić aplikację przy użyciu interfejsu wiersza polecenia platformy .NET bez konieczności przekazywania-lp httpspolecenia lub--launch-profile httpsdodotnet watchpolecenia (lubdotnet run), wystarczy umieścićhttpsprofil nad profilemhttpw pliku.wwwrootfolder: folder główny sieci Web dla aplikacji zawierający publiczne zasoby statyczne aplikacji, w tymappsettings.jsonpliki ustawień aplikacji środowiskowych dla ustawień konfiguracji i przykładowych danych pogodowych (sample-data/weather.json). Stronaindex.htmlinternetowa to strona główna aplikacji zaimplementowana jako strona HTML:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona określa, gdzie jest renderowany składnik główny
App. Składnik jest renderowany w lokalizacjidivelementu DOM z wartościąidapp(<div id="app">Loading...</div>).
Program.cs: punkt wejścia aplikacji, który konfiguruje hosta zestawu WebAssembly:- Składnik
Appjest głównym składnikiem aplikacji. SkładnikAppjest określony jakodivelement DOM z wartościąid(appw<div id="app">Loading...</div>) do kolekcji składnikówwwwroot/index.htmlgłównych (builder.RootComponents.Add<App>("#app")). -
Usługi są dodawane i konfigurowane (na przykład
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Składnik
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor WebAssembly dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor WebAssembly
Blazor WebAssembly szablony projektów: blazorwasm, blazorwasm-empty
Szablony Blazor WebAssembly tworzą początkowe pliki i strukturę katalogów dla Blazor WebAssembly aplikacji:
-
blazorwasmJeśli szablon jest używany, aplikacja zostanie wypełniona następującymi elementami:- Kod demonstracyjny dla
FetchDataskładnika, który ładuje dane ze statycznego zasobu (weather.json) i interakcji użytkownika ze składnikiemCounter. - Zestaw narzędzi frontonu bootstrap .
- Kod demonstracyjny dla
-
blazorwasm-emptyJeśli szablon jest używany, aplikacja jest tworzona bez demonstracyjnego kodu i bootstrap.
Struktura projektu:
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptcomponent () (SurveyPrompt.razorASP.NET Core na platformie .NET 7 lub starszym): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierający publiczne zasoby statyczne aplikacji, w tymappsettings.jsonpliki ustawień aplikacji środowiskowych dla ustawień konfiguracji. Stronaindex.htmlinternetowa to strona główna aplikacji zaimplementowana jako strona HTML:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona określa, gdzie jest renderowany składnik główny
App. Składnik jest renderowany w lokalizacjidivelementu DOM z wartościąidapp(<div id="app">Loading...</div>).
_Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta zestawu WebAssembly:- Składnik
Appjest głównym składnikiem aplikacji. SkładnikAppjest określony jakodivelement DOM z wartościąid(appw<div id="app">Loading...</div>) do kolekcji składnikówwwwroot/index.htmlgłównych (builder.RootComponents.Add<App>("#app")). -
Usługi są dodawane i konfigurowane (na przykład
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Składnik
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor WebAssembly dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor WebAssembly Hostowane rozwiązanie obejmuje następujące projekty ASP.NET Core:
- "Client": Blazor WebAssembly Aplikacja.
- "Server": Aplikacja, która obsługuje Blazor WebAssembly dane dotyczące aplikacji i pogody dla klientów.
- "Shared": Projekt, który obsługuje typowe klasy, metody i zasoby.
Rozwiązanie jest generowane na podstawie Blazor WebAssembly szablonu projektu w programie Visual Studio z zaznaczonym polem wyboru ASP.NET Core Hosted lub z -ho|--hosted opcją przy użyciu polecenia interfejsu wiersza polecenia platformy dotnet new blazorwasm .NET. Aby uzyskać więcej informacji, zobacz Tooling for ASP.NET Core Blazor.
Struktura projektu aplikacji po stronie klienta w hostowanym Blazor rozwiązaniu Webassembly ("Client" projektu) jest taka sama jak struktura projektu dla autonomicznej Blazor WebAssembly aplikacji. Dodatkowe pliki w rozwiązaniu hostowanym Blazor WebAssembly :
- Projekt "Server" zawiera kontroler prognozy pogody,
Controllers/WeatherForecastController.csktóry zwraca dane pogodowe do składnika projektu Client "FetchData". - Projekt "Shared" zawiera klasę prognozy pogody,
WeatherForecast.csktóra reprezentuje dane pogodowe dla projektów "Client" i "Server".
Blazor WebAssembly
Blazor WebAssembly szablon projektu: blazorwasm
Szablon Blazor WebAssembly tworzy początkowe pliki i strukturę katalogów dla Blazor WebAssembly aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData dla składnika, który ładuje dane ze statycznego zasobu, weather.jsonoraz interakcję użytkownika z składnikiem Counter .
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierający publiczne zasoby statyczne aplikacji, w tymappsettings.jsonpliki ustawień aplikacji środowiskowych dla ustawień konfiguracji. Stronaindex.htmlinternetowa to strona główna aplikacji zaimplementowana jako strona HTML:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona określa, gdzie jest renderowany składnik główny
App. Składnik jest renderowany w lokalizacjidivelementu DOM z wartościąidapp(<div id="app">Loading...</div>).
_Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta zestawu WebAssembly:- Składnik
Appjest głównym składnikiem aplikacji. SkładnikAppjest określony jakodivelement DOM z wartościąid(appw<div id="app">Loading...</div>) do kolekcji składnikówwwwroot/index.htmlgłównych (builder.RootComponents.Add<App>("#app")). -
Usługi są dodawane i konfigurowane (na przykład
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Składnik
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor WebAssembly dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor WebAssembly Hostowane rozwiązanie obejmuje następujące projekty ASP.NET Core:
- "Client": Blazor WebAssembly Aplikacja.
- "Server": Aplikacja, która obsługuje Blazor WebAssembly dane dotyczące aplikacji i pogody dla klientów.
- "Shared": Projekt, który obsługuje typowe klasy, metody i zasoby.
Rozwiązanie jest generowane na podstawie Blazor WebAssembly szablonu projektu w programie Visual Studio z zaznaczonym polem wyboru ASP.NET Core Hosted lub z -ho|--hosted opcją przy użyciu polecenia interfejsu wiersza polecenia platformy dotnet new blazorwasm .NET. Aby uzyskać więcej informacji, zobacz Tooling for ASP.NET Core Blazor.
Struktura projektu aplikacji po stronie klienta w hostowanym Blazor rozwiązaniu Webassembly ("Client" projektu) jest taka sama jak struktura projektu dla autonomicznej Blazor WebAssembly aplikacji. Dodatkowe pliki w rozwiązaniu hostowanym Blazor WebAssembly :
- Projekt "Server" zawiera kontroler prognozy pogody,
Controllers/WeatherForecastController.csktóry zwraca dane pogodowe do składnika projektu Client "FetchData". - Projekt "Shared" zawiera klasę prognozy pogody,
WeatherForecast.csktóra reprezentuje dane pogodowe dla projektów "Client" i "Server".
Blazor WebAssembly
Blazor WebAssembly szablon projektu: blazorwasm
Szablon Blazor WebAssembly tworzy początkowe pliki i strukturę katalogów dla Blazor WebAssembly aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData dla składnika, który ładuje dane ze statycznego zasobu, weather.jsonoraz interakcję użytkownika z składnikiem Counter .
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione i arkusze stylów:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
MainLayout.razor.css: arkusz stylów dla głównego układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
NavMenu.razor.css: arkusz stylów dla menu nawigacji aplikacji. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierający publiczne zasoby statyczne aplikacji, w tymappsettings.jsonpliki ustawień aplikacji środowiskowych dla ustawień konfiguracji. Stronaindex.htmlinternetowa to strona główna aplikacji zaimplementowana jako strona HTML:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona określa, gdzie jest renderowany składnik główny
App. Składnik jest renderowany w lokalizacjidivelementu DOM z wartościąidapp(<div id="app">Loading...</div>).
_Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta zestawu WebAssembly:- Składnik
Appjest głównym składnikiem aplikacji. SkładnikAppjest określony jakodivelement DOM z wartościąid(appw<div id="app">Loading...</div>) do kolekcji składnikówwwwroot/index.htmlgłównych (builder.RootComponents.Add<App>("#app")). -
Usługi są dodawane i konfigurowane (na przykład
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Składnik
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor WebAssembly dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor WebAssembly Hostowane rozwiązanie obejmuje następujące projekty ASP.NET Core:
- "Client": Blazor WebAssembly Aplikacja.
- "Server": Aplikacja, która obsługuje Blazor WebAssembly dane dotyczące aplikacji i pogody dla klientów.
- "Shared": Projekt, który obsługuje typowe klasy, metody i zasoby.
Rozwiązanie jest generowane na podstawie Blazor WebAssembly szablonu projektu w programie Visual Studio z zaznaczonym polem wyboru ASP.NET Core Hosted lub z -ho|--hosted opcją przy użyciu polecenia interfejsu wiersza polecenia platformy dotnet new blazorwasm .NET. Aby uzyskać więcej informacji, zobacz Tooling for ASP.NET Core Blazor.
Struktura projektu aplikacji po stronie klienta w hostowanym Blazor rozwiązaniu Webassembly ("Client" projektu) jest taka sama jak struktura projektu dla autonomicznej Blazor WebAssembly aplikacji. Dodatkowe pliki w rozwiązaniu hostowanym Blazor WebAssembly :
- Projekt "Server" zawiera kontroler prognozy pogody,
Controllers/WeatherForecastController.csktóry zwraca dane pogodowe do składnika projektu Client "FetchData". - Projekt "Shared" zawiera klasę prognozy pogody,
WeatherForecast.csktóra reprezentuje dane pogodowe dla projektów "Client" i "Server".
Blazor WebAssembly
Blazor WebAssembly szablon projektu: blazorwasm
Szablon Blazor WebAssembly tworzy początkowe pliki i strukturę katalogów dla Blazor WebAssembly aplikacji. Aplikacja jest wypełniana kodem demonstracyjnym FetchData dla składnika, który ładuje dane ze statycznego zasobu, weather.jsonoraz interakcję użytkownika z składnikiem Counter .
Pagesfolder: zawiera składniki routingu BlazorRazor aplikacji (.razor). Trasa dla każdej strony jest określana przy użyciu@pagedyrektywy . Szablon zawiera następujące składniki:-
Countercomponent (Counter.razor): implementuje stronę Licznik. -
FetchDatacomponent (FetchData.razor): implementuje stronę Pobierania danych. -
Indexcomponent (Index.razor): implementuje Home stronę.
-
Propertiesfolder: przechowuje konfigurację środowiska programistycznegolaunchSettings.jsonw pliku.Sharedfolder: zawiera następujące składniki udostępnione:-
MainLayoutcomponent (MainLayout.razor): składnik układu aplikacji. -
NavMenucomponent (NavMenu.razor): implementuje nawigację na pasku bocznym.NavLinkZawiera składnik (NavLink), który renderuje łącza nawigacji do innych Razor składników. Składnik NavLink automatycznie wskazuje wybrany stan po załadowaniu składnika, co pomaga użytkownikowi zrozumieć, który składnik jest aktualnie wyświetlany. -
SurveyPromptskładnik (SurveyPrompt.razor): Blazor składnik ankiety.
-
wwwrootfolder: folder główny sieci Web dla aplikacji zawierający publiczne zasoby statyczne aplikacji, w tymappsettings.jsonpliki ustawień aplikacji środowiskowych dla ustawień konfiguracji. Stronaindex.htmlinternetowa to strona główna aplikacji zaimplementowana jako strona HTML:- Gdy każda strona aplikacji jest początkowo żądana, ta strona jest renderowana i zwracana w odpowiedzi.
- Strona określa, gdzie jest renderowany składnik główny
App. Składnik jest renderowany w lokalizacjiappelementu DOM (<app>Loading...</app>).
_Imports.razor: zawiera wspólne Razor dyrektywy, które mają być uwzględniane w składnikach aplikacji (.razor), takich jak@usingdyrektywy dla przestrzeni nazw.App.razor: składnik główny aplikacji, który konfiguruje routing po stronie klienta przy użyciu Router składnika. Składnik Router przechwytuje nawigację przeglądarki i renderuje stronę zgodną z żądanym adresem.Program.cs: punkt wejścia aplikacji, który konfiguruje hosta zestawu WebAssembly:- Składnik
Appjest głównym składnikiem aplikacji. SkładnikAppjest określony jakoappelement DOM (<app>Loading...</app>wwwwroot/index.html) do kolekcji składników głównych (builder.RootComponents.Add<App>("app")). -
Usługi są dodawane i konfigurowane (na przykład
builder.Services.AddSingleton<IMyDependency, MyDependency>()).
- Składnik
Dodatkowe pliki i foldery mogą być wyświetlane w aplikacji utworzonej na podstawie szablonu projektu po skonfigurowaniu Blazor WebAssembly dodatkowych opcji. Na przykład generowanie aplikacji z ASP.NET Core Identity obejmuje dodatkowe zasoby na potrzeby funkcji uwierzytelniania i autoryzacji.
Blazor WebAssembly Hostowane rozwiązanie obejmuje następujące projekty ASP.NET Core:
- "Client": Blazor WebAssembly Aplikacja.
- "Server": Aplikacja, która obsługuje Blazor WebAssembly dane dotyczące aplikacji i pogody dla klientów.
- "Shared": Projekt, który obsługuje typowe klasy, metody i zasoby.
Rozwiązanie jest generowane na podstawie Blazor WebAssembly szablonu projektu w programie Visual Studio z zaznaczonym polem wyboru ASP.NET Core Hosted lub z -ho|--hosted opcją przy użyciu polecenia interfejsu wiersza polecenia platformy dotnet new blazorwasm .NET. Aby uzyskać więcej informacji, zobacz Tooling for ASP.NET Core Blazor.
Struktura projektu aplikacji po stronie klienta w hostowanym Blazor rozwiązaniu Webassembly ("Client" projektu) jest taka sama jak struktura projektu dla autonomicznej Blazor WebAssembly aplikacji. Dodatkowe pliki w rozwiązaniu hostowanym Blazor WebAssembly :
- Projekt "Server" zawiera kontroler prognozy pogody,
Controllers/WeatherForecastController.csktóry zwraca dane pogodowe do składnika projektu Client "FetchData". - Projekt "Shared" zawiera klasę prognozy pogody,
WeatherForecast.csktóra reprezentuje dane pogodowe dla projektów "Client" i "Server".
Lokalizacja skryptu Blazor
Skrypt Blazor jest obsługiwany jako statyczny zasób internetowy z automatyczną kompresją i odciskiem palca. Aby uzyskać więcej informacji, zobacz ASP.NET Core Blazor plików statycznych.
W pliku Blazor Web AppBlazor skrypt znajduje się w Components/App.razor pliku :
<script src="@Assets["_framework/blazor.web.js"]"></script>
Blazor Server W aplikacji Blazor skrypt znajduje się w Pages/_Host.cshtml pliku:
<script src="_framework/blazor.server.js"></script>
Skrypt Blazor jest obsługiwany z zasobu osadzonego w strukturze udostępnionej ASP.NET Core.
W pliku Blazor Web AppBlazor skrypt znajduje się w Components/App.razor pliku :
<script src="_framework/blazor.web.js"></script>
Blazor Server W aplikacji Blazor skrypt znajduje się w Pages/_Host.cshtml pliku:
<script src="_framework/blazor.server.js"></script>
Skrypt Blazor jest obsługiwany z zasobu osadzonego w strukturze udostępnionej ASP.NET Core.
Blazor Server W aplikacji Blazor skrypt znajduje się w Pages/_Host.cshtml pliku:
<script src="_framework/blazor.server.js"></script>
Skrypt Blazor jest obsługiwany z zasobu osadzonego w strukturze udostępnionej ASP.NET Core.
Blazor Server W aplikacji Blazor skrypt znajduje się w Pages/_Layout.cshtml pliku:
<script src="_framework/blazor.server.js"></script>
Skrypt Blazor jest obsługiwany z zasobu osadzonego w strukturze udostępnionej ASP.NET Core.
Blazor Server W aplikacji Blazor skrypt znajduje się w Pages/_Host.cshtml pliku:
<script src="_framework/blazor.server.js"></script>
W przypadku aplikacji Blazor Web App lub Blazor Server projekt musi zawierać co najmniej jeden Razor plik składnika (.razor), aby automatycznie dołączać Blazor skrypt po opublikowaniu aplikacji. Jeśli projekt nie zawiera co najmniej jednego Razor składnika, ustaw RequiresAspNetWebAssets właściwość MSBuild na true w pliku projektu aplikacji, aby uwzględnić Blazor skrypt:
<RequiresAspNetWebAssets>true</RequiresAspNetWebAssets>
Blazor WebAssembly W aplikacji zawartość skryptu Blazorwwwroot/index.html znajduje się w pliku:
<script src="_framework/blazor.webassembly#[.{fingerprint}].js"></script>
Po opublikowaniu aplikacji symbol zastępczy {fingerprint} zostanie automatycznie zastąpiony unikatowym skrótem w celu przełamania pamięci podręcznej.
<script src="_framework/blazor.webassembly.js"></script>
<head> Lokalizacja i <body> zawartość
W pliku znajduje się element , Blazor Web App a <head><body> zawartość znajduje się w Components/App.razor pliku .
Blazor Server W aplikacji <head> i <body> zawartość znajduje się w Pages/_Host.cshtml pliku.
Blazor Server W aplikacji <head> i <body> zawartość znajduje się w Pages/_Layout.cshtml pliku.
Blazor Server W aplikacji <head> i <body> zawartość znajduje się w Pages/_Host.cshtml pliku.
Blazor WebAssembly W aplikacji <head> i <body> zawartość znajduje się w wwwroot/index.html pliku.
Podwójna Blazor Server/Blazor WebAssembly aplikacja
Aby utworzyć aplikację, która może działać jako Blazor Server aplikacja lub Blazor WebAssembly aplikacja, jednym z podejść jest umieszczenie całej logiki i składników aplikacji w Razor bibliotece klas (RCL) i odwołowanie się do listy RCL z oddzielnych Blazor Server i Blazor WebAssembly projektów. W przypadku typowych usług, których implementacje różnią się w zależności od modelu hostingu, zdefiniuj interfejsy usług na liście RCL i zaimplementuj usługi w Blazor Server projektach i Blazor WebAssembly .
Dodatkowe zasoby
- Narzędzia dla platformy ASP.NET Core Blazor
- Modele hostingu ASP.NET Core Blazor
- Omówienie interfejsów API
-
Blazor przykłady repozytoriów GitHub (
dotnet/blazor-samples) (jak pobrać)
- Narzędzia dla platformy ASP.NET Core Blazor
- Modele hostingu ASP.NET Core Blazor
-
Blazor przykłady repozytoriów GitHub (
dotnet/blazor-samples) (jak pobrać)
ASP.NET Core