Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez nem a cikk legújabb verziója. Az aktuális kiadásról a cikk .NET 10-es verziójában olvashat.
Figyelmeztetés
A ASP.NET Core ezen verziója már nem támogatott. További információ: .NET és .NET Core támogatási szabályzat. A jelen cikk .NET 9-es verzióját lásd az aktuális kiadásért .
Ez a cikk ismerteti, hogyan lehet üzemeltetni és üzembe helyezni a Blazor WebAssembly az Internet Information Services (IIS) használatával.
Az IIS képes statikus fájlkiszolgáló Blazor alkalmazásokhoz. Az IIS Blazorüzemeltetésének konfigurálásához tekintse meg a "Statikus webhely létrehozása az IIS" című útmutatót.
A közzétett objektumok abban a /bin/Release/{TARGET FRAMEWORK}/publish mappában vagy bin/Release/{TARGET FRAMEWORK}/browser-wasm/publish mappában jönnek létre, ahol a {TARGET FRAMEWORK} helyőrző a cél keretrendszer. A publish mappa tartalmának hosztolása a webkiszolgálón vagy a hosting szolgáltatásban.
web.config fájl
Egy Blazor projekt közzétételekor egy web.config-fájl jön létre a következő IIS-konfigurációval:
- MIME-típusok
- A HTTP-tömörítés a következő MIME-típusok esetében engedélyezett:
application/octet-streamapplication/wasm
- Az URL-átírási modul szabályai a következők:
- Annak az alkönyvtárnak a kiszolgálása, amelyben az alkalmazás statikus eszközei találhatók (
wwwroot/{PATH REQUESTED}). - Hozzon létre spa tartalék útválasztást, hogy a nem fájlbeli objektumokra vonatkozó kérések átirányítva legyenek az alkalmazás alapértelmezett dokumentumába a statikus eszközök mappájában (
wwwroot/index.html).
- Annak az alkönyvtárnak a kiszolgálása, amelyben az alkalmazás statikus eszközei találhatók (
Egyedi használat web.config
Egyéni web.config fájl használata:
- Helyezze az egyéni
web.configfájlt a projekt gyökérmappájába. - Tegye közzé a projektet. További információ: ASP.NET Core alkalmazások hosztolása és telepítése Blazor.
- Helyezze az egyéni
web.configfájlt a projekt gyökérmappájába. Tárhelyen kezelt Blazor WebAssemblymegoldásesetén helyezze a fájlt a Server projekt mappájába. - Tegye közzé a projektet. Üzemeltetett Blazor WebAssembly megoldás esetén tegye közzé a megoldást a Server projektből. További információ: ASP.NET Core alkalmazások hosztolása és telepítése Blazor.
Ha az SDK web.config létrehozása vagy átalakítása a közzététel során nem helyezi át a fájlt a publish mappában található közzétett állományokhoz, vagy módosítja a konfigurációt az egyéni web.config-fájlban, a folyamat teljes ellenőrzéséhez használja az alábbi módszerek bármelyikét:
Ha az SDK nem hozza létre a fájlt, például egy különálló Blazor WebAssembly alkalmazásban
/bin/Release/{TARGET FRAMEWORK}/publish/wwwrootbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish, ahol a{TARGET FRAMEWORK}helyőrző a cél keretrendszer, állítsa be a<PublishIISAssets>tulajdonságottruea projektfájlban (.csproj). Az önálló WebAssembly-alkalmazások esetében ez az egyetlen szükséges beállítás az egyéniweb.configfájlok áthelyezéséhez és a fájl SDK általi átalakításának megakadályozásához.<PropertyGroup> <PublishIISAssets>true</PublishIISAssets> </PropertyGroup>Tiltsa le az SDK
web.configátalakítását a projektfájlban (.csproj):<PropertyGroup> <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled> </PropertyGroup>Adjon hozzá egy célzott célpontot a projektfájlhoz (
.csproj), hogy áthelyezzen egyediweb.configfájlt. Az alábbi példában az egyéniweb.configfájlt a fejlesztő helyezi el a projekt gyökerénél. Ha aweb.configfájl máshol található, adja meg a fájl elérési útját aSourceFiles. Az alábbi példa apublish$(PublishDir)mappát határozza meg, de megadja az egyéni kimeneti helyDestinationFolderelérési útját.<Target Name="CopyWebConfig" AfterTargets="Publish"> <Copy SourceFiles="web.config" DestinationFolder="$(PublishDir)" /> </Target>
Az URL-átírási modul telepítése
Az URL-címek újraírásához a URL-átírási modul szükséges. A modul alapértelmezés szerint nincs telepítve, és nem érhető el webkiszolgálói (IIS) szerepkör-szolgáltatásként való telepítéshez. A modult le kell tölteni az IIS webhelyéről. A modul telepítéséhez használja a webplatform-telepítőt:
- Helyileg navigáljon az URL-átríró modul letöltési oldalára. Az angol verzió esetében válassza WebPI- a WebPI telepítőjének letöltéséhez. Más nyelvek esetén válassza ki a kiszolgáló megfelelő architektúráját (x86/x64) a telepítő letöltéséhez.
- Másolja a telepítőt a kiszolgálóra. Indítsa el a telepítőt. Válassza a Telepítés gombot, és fogadja el a licencfeltételeket. A telepítés befejezése után nincs szükség kiszolgáló-újraindításra.
A webhely konfigurálása
Állítsa be a webhely fizikai elérési útját az alkalmazás mappájába. A mappa a következőket tartalmazza:
- Az IIS által a webhely konfigurálásához használt
web.configfájl, beleértve a szükséges átirányítási szabályokat és fájltartalmakat. - Az alkalmazás statikus erőforrásmappája.
Hostolás IIS alalkalmazásként
Ha egy önálló alkalmazás IIS-alalkalmazásként van üzemeltetve, hajtsa végre az alábbi műveletek egyikét:
Tiltsa le az örökölt ASP.NET core modulkezelőt.
Távolítsa el a kezelőt a Blazor alkalmazás közzétett
web.configfájljában úgy, hogy hozzáad egy<handlers>szakaszt a fájl<system.webServer>szakaszához:<handlers> <remove name="aspNetCore" /> </handlers>Tiltsa le a gyökér (szülői) alkalmazás
<system.webServer>szakaszának öröklését egy<location>elemet használva, amelynekinheritInChildApplicationsbeállításafalse-ra:<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" ... /> </handlers> <aspNetCore ... /> </system.webServer> </location> </configuration>Megjegyzés:
A gyökéralkalmazás (szülő) alkalmazás
<system.webServer>szakaszának öröklésének letiltása a .NET SDK-t használó közzétett alkalmazások alapértelmezett konfigurációja.
A kezelő eltávolítása vagy az öröklés letiltása az alkalmazás alapútvonalánakindex.html fájljában található alkalmazásbázis elérési útját az IIS-ben az alalkalmazás konfigurálásakor használt IIS-aliasra.
Konfigurálja az alkalmazás alap elérési útját az ASP.NET Core-alkalmazás Blazor alap elérési útjának útmutatásával.
Brotli és Gzip tömörítés
Ez a szakasz csak különálló Blazor WebAssembly alkalmazásokra vonatkozik.
Ez a szakasz csak különálló Blazor WebAssembly alkalmazásokra vonatkozik. A üzemeltetett Blazor-alkalmazások alapértelmezett ASP.NET Core-alkalmazás web.config fájlt használnak, nem az ebben a szakaszban csatolt fájlt.
Az IIS web.config konfigurálható a Brotli- vagy Gzip-tömörítésű Blazor-eszközök kiszolgálására önálló Blazor WebAssembly-alkalmazásokhoz. Példa konfigurációs fájlra: web.config.
A példában szereplő web.config fájl további konfigurálása a következő forgatókönyvekben lehetséges:
- Az alkalmazás specifikációja az alábbiak valamelyikét kéri:
- A példa
web.configfájl által nem konfigurált tömörített fájlok kiszolgálása. - A
web.configfájl által konfigurált tömörített fájlok kiszolgálása tömörítetlen formátumban.
- A példa
- A kiszolgáló IIS-konfigurációja (például
applicationHost.config) a kiszolgálószintű IIS alapértelmezett beállításait biztosítja. A kiszolgálószintű konfigurációtól függően előfordulhat, hogy az alkalmazás más IIS-konfigurációt igényel, mint amit a példaweb.configfájl tartalmaz.
Az egyéni web.config fájlokról további információt az Egyéni web.configszakasz használata című témakörben talál.
Hibaelhárítás
Ha 500 - belső kiszolgálóhiba érkezik, és az IIS Manager hibát jelez a webhely konfigurációjának elérésekor, ellenőrizze, hogy telepítve van-e az URL-átírási modul. Ha a modul nincs telepítve, az IIS nem tudja elemezni a web.config fájlt. Ez megakadályozza, hogy az IIS-kezelő betöltse a webhely konfigurációját, és hogy a webhely Blazorstatikus fájljait szolgálja ki.
Az IIS-re történő telepítések hibaelhárításáról további információkat az Azure App Service és az IISASP.NET Core hibaelhárítása című dokumentumban talál.