Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 9 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 9 de cet article.
Important
Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour la version actuelle, consultez la version .NET 9 de cet article.
Cet article explique comment héberger et déployer des applications Blazor.
Publier l’application
Les applications sont publiées pour le déploiement dans la configuration Release.
- Sélectionnez la commande Publier {APPLICATION} dans le menu Générer, où l’espace réservé
{APPLICATION}
est le nom de l’application. - Sélectionnez l’onglet Cible de publication. Pour publier localement, sélectionnez Dossier.
- Acceptez l’emplacement par défaut dans le champ Choisir un dossier ou spécifiez un autre emplacement. Sélectionnez le bouton
Publish
.
La publication de l’application déclenche une restauration des dépendances du projet et crée le projet avant de créer les ressources pour le déploiement. Dans le cadre du processus de génération, les assemblys et méthodes inutilisés sont supprimés pour réduire la durée du chargement et la taille du téléchargement de l’application.
Emplacements de publication par défaut
-
Blazor Web App: L'application est publiée dans le dossier
/bin/Release/{TARGET FRAMEWORK}/publish
, où le placeholder{TARGET FRAMEWORK}
est le framework cible. Déployez le contenu du dossierpublish
sur l’hôte. - Autonome Blazor WebAssembly : l'application est publiée dans le dossier
bin/Release/{TARGET FRAMEWORK}/publish
oubin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
. Pour déployer l’application en tant que site statique, copiez le contenu du dossierwwwroot
sur l’hôte de site statique.
-
Blazor Server : L'application est publiée dans le dossier
/bin/Release/{TARGET FRAMEWORK}/publish
, où le caractère générique{TARGET FRAMEWORK}
est le framework cible... Déployez le contenu du dossierpublish
sur l’hôte. - Blazor WebAssembly
- Autonome : l’application est publiée dans le
/bin/Release/{TARGET FRAMEWORK}/publish
oubin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
dossier. Pour déployer l’application en tant que site statique, copiez le contenu du dossierwwwroot
sur l’hôte de site statique. - Hébergé : l’application serveur ASP.NET Core et l’application cliente Blazor WebAssembly sont publiées dans le
/bin/Release/{TARGET FRAMEWORK}/publish
dossier de l’application serveur, ainsi que toutes les ressources web statiques de l’application cliente. Déployez le contenu du dossierpublish
sur l’hôte.
- Autonome : l’application est publiée dans le
IIS
Pour héberger une application Blazor dans IIS, consultez les ressources suivantes :
- Hébergement IIS
- Hébergez et déployez ASP.NET applications côté Blazor serveur Core : Blazor Web Apps (.NET 8 ou version ultérieure) et Blazor Server applications (.NET 7 ou versions antérieures) s’exécutant sur IIS, y compris IIS avec des machines virtuelles Azure exécutant le système d’exploitation Windows et Azure App Service.
- Héberger et déployer ASP.NET Core Blazor WebAssembly avec IIS : applications autonomes Blazor WebAssembly (toutes les versions .NET) et applications hébergées Blazor WebAssembly (.NET 7 ou antérieures).
- Hébergement de sous-applications IIS
- Suivez les instructions du chemin d’accès de base de l’application avant de publier l’application. Les exemples utilisent
/CoolApp
comme chemin de base de l’application et montrent comment obtenir le chemin de base à partir des paramètres d’application ou d’autres fournisseurs de configuration. - Suivez les instructions de configuration de sous-application dans la Configuration avancée. Le chemin d’accès du dossier de la sous-application sous le site racine devient le chemin d’accès virtuel de la sous-application. Pour un chemin d’accès de base d’application de
/CoolApp
, l’application Blazor est placée dans un dossier nomméCoolApp
sous le site racine et la sous-application prend un chemin d’accès virtuel de/CoolApp
.
- Suivez les instructions du chemin d’accès de base de l’application avant de publier l’application. Les exemples utilisent
Le partage d’un pool d’applications entre des applications ASP.NET Core n’est pas pris en charge, y compris pour les applications Blazor. Utilisez un pool d’applications par application lors de l’hébergement avec IIS et évitez d’utiliser les répertoires virtuels d’IIS pour héberger plusieurs applications.
Une ou plusieurs applications Blazor WebAssembly hébergées par une application ASP.NET Core, appelée solution Blazor WebAssembly hébergée, sont prises en charge pour un pool d’applications. Toutefois, nous ne recommandons pas et ne prenons pas en charge l’attribution d’un pool d’applications unique à plusieurs solutions Blazor WebAssembly hébergées ou dans des scénarios d’hébergement de sous-applications.
Pour plus d’informations sur les solutions, consultez Outils pour ASP.NET Core Blazor.
Configuration Blazor ServerMapFallbackToPage
Cette section s’applique uniquement aux applications Blazor Server. MapFallbackToPage n’est pas pris en charge dans les Blazor Web App et les applications Blazor WebAssembly.
Dans les scénarios où une application nécessite une zone distincte avec des ressources et des composants Razor personnalisés :
Créez un dossier dans le dossier
Pages
de l’application pour y placer les ressources. Par exemple, une section d’administrateur d’une application est créée dans un nouveau dossier nomméAdmin
(Pages/Admin
).Créez une page racine (
_Host.cshtml
) pour la zone. Par exemple, créez un fichierPages/Admin/_Host.cshtml
à partir de la page racine principale de l’application (Pages/_Host.cshtml
). Ne fournissez pas de directive@page
dans la page_Host
d’administration.Ajoutez une disposition au dossier de la zone (par exemple,
Pages/Admin/_Layout.razor
). Dans la disposition de la zone distincte, définissez l’étiquette<base>
href
pour qu’elle corresponde au dossier de la zone (par exemple,<base href="/Admin/" />
). À des fins de démonstration, ajoutez~/
aux ressources statiques dans la page. Par exemple :~/css/bootstrap/bootstrap.min.css
~/css/site.css
-
~/BlazorSample.styles.css
(l’espace de noms de l’exemple d’application estBlazorSample
) -
~/_framework/blazor.server.js
(script Blazor)
Si la zone doit avoir son propre dossier de ressources statiques, ajoutez le dossier et spécifiez son emplacement sur Middleware de fichiers statiques dans
Program.cs
(par exemple,app.UseStaticFiles("/Admin/wwwroot")
).Les composants Razor sont ajoutés dans le dossier de la zone. Au minimum, ajoutez un composant
Index
au dossier de zone avec la directive@page
correcte pour cette zone. Par exemple, ajoutez un fichierPages/Admin/Index.razor
en fonction du fichierPages/Index.razor
par défaut de l’application. Indiquez la zone Administration comme modèle de route en haut du fichier (@page "/admin"
). Ajoutez des composants supplémentaires si nécessaire. Par exemple,Pages/Admin/Component1.razor
avec une directive@page
et un modèle de route@page "/admin/component1
.Dans
Program.cs
, appelez MapFallbackToPage pour le chemin de demande de la zone immédiatement avant le chemin de la page racine de secours vers la page_Host
:... app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("~/Admin/{*clientroutes:nonfile}", "/Admin/_Host"); app.MapFallbackToPage("/_Host"); app.Run();