Remarque
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.
Note
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 10 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 10 de cet article.
Cet article explique comment héberger et déployer Blazor WebAssembly à l’aide d’Internet Information Services (IIS) .
IIS est un serveur de fichiers statique capable pour les Blazor applications. Pour configurer IIS pour héberger Blazor, consultez Générer un site web statique sur IIS.
Les ressources publiées sont créées dans le /bin/Release/{TARGET FRAMEWORK}/publish ou le bin/Release/{TARGET FRAMEWORK}/browser-wasm/publish dossier, où le placeholder {TARGET FRAMEWORK} est le framework cible. Hébergez le contenu du publish dossier sur le serveur web ou le service d’hébergement.
Fichier web.config
Lorsqu’un Blazor projet est publié, un web.config fichier est créé avec la configuration IIS suivante :
- Types MIME
- La compression HTTP est activée pour les types MIME suivants :
application/octet-streamapplication/wasm
- Les règles du module de réécriture d’URL sont établies :
- Servez le sous-répertoire où résident les ressources statiques de l’application (
wwwroot/{PATH REQUESTED}). - Créez un routage de secours SPA afin que les demandes de ressources autres que des fichiers soient redirigées vers le document par défaut de l’application dans son dossier de ressources statiques (
wwwroot/index.html).
- Servez le sous-répertoire où résident les ressources statiques de l’application (
Utilisation d'un élément personnalisé web.config
Pour utiliser un fichier personnalisé web.config :
- Placez le fichier personnalisé
web.configdans le dossier racine du projet. - Publiez le projet. Pour plus d’informations, consultez Héberger et déployer ASP.NET Core Blazor.
- Placez le fichier personnalisé
web.configdans le dossier racine du projet. Pour une Blazor WebAssembly hébergée, placez le fichier dans le Server dossier du projet. - Publiez le projet. Pour une solution hébergée Blazor WebAssembly , publiez la solution à partir du Server projet. Pour plus d’informations, consultez Héberger et déployer ASP.NET Core Blazor.
Si la génération ou la transformation du web.config Kit de développement logiciel (SDK) pendant la publication ne déplace pas le fichier vers des ressources publiées dans le publish dossier ou modifie la configuration personnalisée dans votre fichier personnalisé web.config , utilisez l’une des approches suivantes si nécessaire pour prendre le contrôle total du processus :
Si le SDK ne génère pas le fichier, par exemple, dans une application autonome Blazor WebAssembly ou
/bin/Release/{TARGET FRAMEWORK}/publish/wwwrootbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish, où l’espace réservé{TARGET FRAMEWORK}est le framework cible, définissez la propriété<PublishIISAssets>surtruedans le fichier projet (.csproj). En règle générale, pour les applications WebAssembly autonomes, il s’agit du seul paramètre requis pour déplacer un fichier personnaliséweb.configet empêcher la transformation du fichier par le Kit de développement logiciel (SDK).<PropertyGroup> <PublishIISAssets>true</PublishIISAssets> </PropertyGroup>Désactivez la transformation du Kit de
web.configdéveloppement logiciel (SDK) dans le fichier projet (.csproj) :<PropertyGroup> <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled> </PropertyGroup>Ajoutez une cible personnalisée au fichier projet (
.csproj) pour déplacer un fichier personnaliséweb.config. Dans l’exemple suivant, le fichier personnaliséweb.configest placé par le développeur à la racine du projet. Si leweb.configfichier réside ailleurs, spécifiez le chemin d’accès au fichier dansSourceFiles. L’exemple suivant spécifie le dossierpublishavec$(PublishDir), mais fournit un chemin d’accès versDestinationFolderpour un emplacement de sortie personnalisé.<Target Name="CopyWebConfig" AfterTargets="Publish"> <Copy SourceFiles="web.config" DestinationFolder="$(PublishDir)" /> </Target>
Installer le module de réécriture d’URL
Le module de réécriture d’URL est requis pour réécrire les URL. Le module n’est pas installé par défaut et il n’est pas disponible pour l’installation en tant que fonctionnalité de service de rôle Iis (Web Server). Le module doit être téléchargé à partir du site web IIS. Utilisez web Platform Installer pour installer le module :
- Localement, accédez à la page téléchargements du module de réécriture d’URL. Pour la version anglaise, sélectionnez WebPI pour télécharger le programme d’installation webPI. Pour d’autres langues, sélectionnez l’architecture appropriée pour le serveur (x86/x64) pour télécharger le programme d’installation.
- Copiez le programme d’installation sur le serveur. Exécutez le programme d’installation. Sélectionnez le bouton Installer et acceptez les termes du contrat de licence. Un redémarrage du serveur n’est pas nécessaire une fois l’installation terminée.
Configurer le site web
Définissez le chemin physique du site web sur le dossier de l’application. Le dossier contient :
- Fichier
web.configque IIS utilise pour configurer le site web, y compris les règles de redirection requises et les types de contenu de fichier. - Dossier de ressources statiques de l’application.
Héberger en tant qu'une sous-application IIS
Si une application autonome est hébergée en tant que sous-application IIS, effectuez l’une des opérations suivantes :
Désactivez le gestionnaire de modules de base ASP.NET hérité.
Supprimez le gestionnaire dans le fichier publié de l’application Blazor en ajoutant une section
web.configà la section<handlers>du fichier :<handlers> <remove name="aspNetCore" /> </handlers>Désactivez l’héritage de section de
<system.webServer>l’application racine (parent) à l’aide d’un élément<location>dont la valeurinheritInChildApplicationsest définie surfalse:<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" ... /> </handlers> <aspNetCore ... /> </system.webServer> </location> </configuration>Note
La désactivation de l’héritage de la section
<system.webServer>de l’application racine (parent) est la configuration par défaut pour les applications publiées à l’aide du .NET SDK.
La suppression du gestionnaire ou de la désactivation de l’héritage est effectuée en plus de configurer le chemin de base de l’application. Définissez le chemin de base de l’application dans le fichier de index.html l’application sur l’alias IIS utilisé lors de la configuration de la sous-application dans IIS.
Configurez le chemin de base de l’application en suivant les instructions de ASP.NET chemin de base de l’application CoreBlazor.
Compression Brotli et Gzip
Cette section s’applique uniquement aux applications autonomes Blazor WebAssembly .
Cette section s’applique uniquement aux applications autonomes Blazor WebAssembly . Les applications hébergées Blazor utilisent un fichier d’application web.config core par défaut ASP.NET, et non le fichier lié dans cette section.
IIS peut être configuré via web.config pour servir des fichiers compressés en Brotli ou Gzip Blazor pour les applications autonomes Blazor WebAssembly. Pour obtenir un exemple de fichier de configuration, consultez web.config.
Une configuration supplémentaire du fichier exemple web.config peut être nécessaire dans les scénarios suivants :
- La spécification de l’application appelle l’une des opérations suivantes :
- Diffusion de fichiers compressés qui ne sont pas configurés par le fichier d'exemple
web.config. - Servir les fichiers compressés configurés par le fichier d'exemple
web.configdans un format non compressé.
- Diffusion de fichiers compressés qui ne sont pas configurés par le fichier d'exemple
- La configuration IIS du serveur (par exemple,
applicationHost.config) fournit des paramètres par défaut de IIS au niveau du serveur. Selon la configuration au niveau du serveur, l’application peut nécessiter une configuration IIS différente de celle de l’exempleweb.configde fichier.
Pour plus d’informations sur les fichiers personnalisés web.config , consultez la section Utiliser une section personnalisée web.config .
Résolution des problèmes
Si une erreur de serveur interne 500 est reçue et que le Gestionnaire IIS lève des erreurs lors de la tentative d’accès à la configuration du site web, vérifiez que le module de réécriture d’URL est installé. Lorsque le module n’est pas installé, le web.config fichier ne peut pas être analysé par IIS. Cela empêche le Gestionnaire IIS de charger la configuration du site web et le site web de traiter Blazorles fichiers statiques.
Pour plus d’informations sur la résolution des problèmes de déploiements sur IIS, consultez Résoudre les problèmes ASP.NET Core sur Azure App Service et IIS.