Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varning
Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i .NET och .NET Core Support Policy. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .
Viktigt!
Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som tillhandahålls här.
För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .
Den här artikeln beskriver hur du driftar och publicerar Blazor WebAssembly med hjälp av Internet Information Services (IIS).
IIS är en kompatibel statisk filserver för Blazor appar. Information om hur du konfigurerar IIS som värd för Blazorfinns i Skapa en statisk webbplats på IIS-.
Publicerade resurser skapas i mappen /bin/Release/{TARGET FRAMEWORK}/publish eller bin\Release\{TARGET FRAMEWORK}\browser-wasm\publish, beroende på vilken version av SDK som används och där platshållaren {TARGET FRAMEWORK} är målramverket. Lägg upp innehållet i mappen publish på webbservern eller värdtjänsten.
              web.config fil
När ett Blazor projekt publiceras skapas en web.config fil med följande IIS-konfiguration:
- MIME-typer
- HTTP-komprimering är aktiverat för följande MIME-typer: - application/octet-stream
- application/wasm
 
- Regler för URL-omskrivningsmodul upprättas: - Hantera den underkatalog där appens statiska tillgångar finns (wwwroot/{PATH REQUESTED}).
- Skapa SPA-fallback-routning så att begäranden om icke-filresurser omdirigeras till appens standardfil i mappen för statiska resurser (wwwroot/index.html).
 
- Hantera den underkatalog där appens statiska tillgångar finns (
Användning av en anpassad web.config
Så här använder du en anpassad web.config fil:
- Placera den anpassade web.configfilen i projektets rotmapp.
- Publicera projektet. Mer information finns i Hosta och distribuera ASP.NET Core Blazor.
- Placera den anpassade web.configfilen i projektets rotmapp. För en värdbaserad Blazor WebAssemblylösningplacerar du filen i Server-projektets mapp.
- Publicera projektet. För en värdbaserad Blazor WebAssembly-lösning, publicera lösningen från projekt Server. Mer information finns i Hosta och distribuera ASP.NET Core Blazor.
Om SDK:ns web.config generering eller omvandling under publiceringen antingen inte flyttar filen till publicerade tillgångar i mappen publish eller ändrar den anpassade konfigurationen i din anpassade web.config-fil använder du någon av följande metoder efter behov för att ta fullständig kontroll över processen:
- Om SDK:t inte genererar filen, till exempel i en fristående Blazor WebAssembly app på - /bin/Release/{TARGET FRAMEWORK}/publish/wwwrooteller- bin\Release\{TARGET FRAMEWORK}\browser-wasm\publish, beroende på vilken version av SDK:t som används och var- {TARGET FRAMEWORK}platshållaren är målramverket, anger du egenskapen- <PublishIISAssets>till- truei projektfilen (- .csproj). Vanligtvis för fristående WebAssembly-appar är detta den enda obligatoriska inställningen för att flytta en anpassad- web.configfil och förhindra att filen transformeras av SDK:t.- <PropertyGroup> <PublishIISAssets>true</PublishIISAssets> </PropertyGroup>
- Inaktivera - web.config-transformationen för SDK:et i projektfilen (- .csproj):- <PropertyGroup> <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled> </PropertyGroup>
- Lägg till ett anpassat mål i projektfilen ( - .csproj) för att flytta en anpassad- web.configfil. I följande exempel placeras den anpassade- web.config-filen av utvecklaren i projektets rot. Om filen- web.configfinns någon annanstans anger du sökvägen till filen i- SourceFiles. I följande exempel anges mappen- publishmed- $(PublishDir), men anger en sökväg till- DestinationFolderför en anpassad utdataplats.- <Target Name="CopyWebConfig" AfterTargets="Publish"> <Copy SourceFiles="web.config" DestinationFolder="$(PublishDir)" /> </Target>
Installera url-omskrivningsmodulen
URL Rewrite Module krävs för att skriva om URL:er. Modulen är inte installerad som standard och den är inte tillgänglig för installation som en rolltjänstfunktion för webbserver (IIS). Modulen måste laddas ned från IIS-webbplatsen. Använd installationsprogrammet för webbplattformen för att installera modulen:
- Navigera lokalt till nedladdningssidan för URL-omskrivningsmodulen . För den engelska versionen väljer du WebPI- för att ladda ned WebPI-installationsprogrammet. För andra språk väljer du lämplig arkitektur för servern (x86/x64) för att ladda ned installationsprogrammet.
- Kopiera installationsprogrammet till servern. Kör installationsprogrammet. Välj knappen Installera och godkänn licensvillkoren. En omstart av servern krävs inte när installationen är klar.
Konfigurera webbplatsen
Ange webbplatsens fysiska sökväg till appens mapp. Mappen innehåller:
- Den web.configfil som IIS använder för att konfigurera webbplatsen, inklusive nödvändiga omdirigeringsregler och filinnehållstyper.
- Appens statiska tillgångsmapp.
Kör som en IIS-underapp
Om en fristående app hanteras som en IIS-underapp utför du något av följande:
- Inaktivera den ärvda ASP.NET Core Module-hanteraren. - Ta bort hanteraren i Blazor-appens publicerade - web.config-fil genom att lägga till ett- <handlers>avsnitt i avsnittet- <system.webServer>i filen:- <handlers> <remove name="aspNetCore" /> </handlers>
- Inaktivera arv av rotappens (moderappens) - <system.webServer>-avsnitt med ett- <location>-element där- inheritInChildApplicationsär inställt på- false:- <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" ... /> </handlers> <aspNetCore ... /> </system.webServer> </location> </configuration>- Anmärkning - Inaktivering av arv av rotappens - <system.webServer>-avsnitt är standardkonfigurationen för publicerade appar med .NET SDK.
Att ta bort hanteraren eller inaktivera arv sker dessutom genom att konfigurera appens bassökväg. Ange appens bassökväg i appens index.html fil till det IIS-alias som används när du konfigurerar underappen i IIS.
Konfigurera appens bassökväg genom att följa anvisningarna i ASP.NET Grundläggande sökväg för Core-appenBlazor.
Brotli- och Gzip-komprimering
Det här avsnittet gäller endast fristående Blazor WebAssembly appar.
Det här avsnittet gäller endast fristående Blazor WebAssembly appar. Värdbaserade Blazor-appar använder en ASP.NET Core standardfil för appen web.config, inte den fil som är länkad i det här avsnittet.
IIS kan konfigureras via web.config för att hantera Brotli- eller Gzip-komprimerade Blazor tillgångar för fristående Blazor WebAssembly appar. Ett exempel på en konfigurationsfil finns i web.config.
Ytterligare konfiguration av exemplet web.config fil kan krävas i följande scenarier:
- Appens specifikation kräver något av följande: - Servera komprimerade filer som inte har konfigurerats av exempelfilen web.config.
- Leverera komprimerade filer som konfigurerats av exempel web.config-filen i ett okomprimerat format.
 
- Servera komprimerade filer som inte har konfigurerats av exempelfilen 
- Serverns IIS-konfiguration (till exempel applicationHost.config) tillhandahåller IIS-standardvärden på servernivå. Beroende på konfigurationen på servernivå kan appen kräva en annan IIS-konfiguration än vad exempletweb.configfil innehåller.
Mer information om anpassade web.config filer finns i avsnittet Använda en anpassad web.config fil.
Felsökning
Om ett 500 – internt serverfel tas emot och IIS-hanteraren utlöser fel när du försöker komma åt webbplatsens konfiguration kontrollerar du att URL-omskrivningsmodulen är installerad. När modulen inte är installerad kan web.config-filen inte parsas av IIS. Detta hindrar IIS-hanteraren från att läsa in webbplatsens konfiguration och hindrar webbplatsen från att leverera Blazor:s statiska filer.
Mer information om hur du felsöker distributioner till IIS finns i Felsöka ASP.NET Core i Azure App Service och IIS.
ASP.NET Core