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.
Jegyzet
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 jelenlegi kiadáshoz lásd ennek a cikknek a .NET 9-es verzióját.
Ez a cikk bemutatja, hogyan üzemeltethet és helyezhet üzembe Blazor alkalmazásokat.
Az alkalmazás közzététele
Az alkalmazásokat kiadási konfigurációban publikálják az üzembe helyezésre.
Jegyzet
Üzemeltetett Blazor WebAssemblymegoldás közzététele a Server projektből.
- Válassza ki az Publish {APPLICATION} parancsot a Build menüből, ahol a
{APPLICATION}helyőrző az alkalmazás nevét. - Válassza ki a közzétételi célt. Helyi közzétételhez válassza Mappalehetőséget. Válassza a Következőlehetőséget.
- Helyi közzétételkor fogadja el az alapértelmezett mappahelyet, vagy adjon meg egy másik helyet. Kattintson a Befejezés gombra a profil mentéséhez. Válassza a Bezárás lehetőséget.
- Ha az alkalmazás közzététele előtt meg szeretné tisztítani a cél közzétételi mappáját, válassza az Összes beállítás megjelenítése lehetőséget. Válassza a Beállítások>fájl-közzétételi beállítások lehetőséget>Az összes meglévő fájl törlése a közzététel előtt. Válassza az Mentésgombot.
- Válassza a Közzététel gombot.
Az alkalmazás közzététele aktiválja a projekt függőségeinek visszaállítását, és létrehozza a projektet, mielőtt az üzembe helyezéshez szükséges eszközöket létrehozná. A buildelési folyamat részeként a nem használt metódusok és szerelvények el lesznek távolítva az alkalmazás letöltési méretének és betöltési idejének csökkentése érdekében.
A cél közzétételi mappa kiürítése
Amikor a dotnet publish parancsot egy parancshéjban egy alkalmazás közzétételére használja, a parancs létrehozza az üzembe helyezéshez szükséges fájlokat a projekt aktuális állapota alapján, és a fájlokat a megadott kimeneti mappába helyezi. A parancs nem törli automatikusan a célmappát az alkalmazás közzététele előtt.
Ha az alkalmazás közzététele előtt automatikusan ki szeretné üríteni a célmappát, adja hozzá a következő MSBuild-célt az alkalmazás projektfájljába (.csproj) a gyökérelem <Project> alatt:
<Target Name="_RemovePublishDirBeforePublishing" BeforeTargets="BeforePublish">
<RemoveDir Directories="$(PublishDir)" Condition="'$(PublishDir)' != ''" />
</Target>
Alapértelmezett közzétételi helyek
-
Blazor Web App: Az alkalmazás a
/bin/Release/{TARGET FRAMEWORK}/publishmappába kerül, ahol a{TARGET FRAMEWORK}helyőrző a cél keretrendszert jelöli. Helyezze üzembe apublishmappa tartalmát a gazdagépen. - ÖnállóBlazor WebAssembly: Az alkalmazás közzé van téve a
bin/Release/{TARGET FRAMEWORK}/publishvagybin/Release/{TARGET FRAMEWORK}/browser-wasm/publishmappába. Az alkalmazás statikus webhelyként való üzembe helyezéséhez másolja awwwrootmappa tartalmát a statikus tárhelyre.
-
Blazor Server: Az alkalmazás a
/bin/Release/{TARGET FRAMEWORK}/publishmappába kerül, ahol a{TARGET FRAMEWORK}helyőrző a cél keretrendszer. Helyezze üzembe apublishmappa tartalmát a gazdagépen. - Blazor WebAssembly
- Önálló: Az alkalmazás a
/bin/Release/{TARGET FRAMEWORK}/publishvagy abin/Release/{TARGET FRAMEWORK}/browser-wasm/publishmappába van közzétéve. Az alkalmazás statikus webhelyként való üzembe helyezéséhez másolja awwwrootmappa tartalmát a statikus tárhelyre. - Üzemeltetve: Az ASP.NET Core kiszolgálóalkalmazás és az ügyfélalkalmazás Blazor WebAssembly a kiszolgálóalkalmazás
/bin/Release/{TARGET FRAMEWORK}/publishmappájába van publikálva, valamint az ügyfélalkalmazás bármely statikus webeszköze. Helyezze üzembe apublishmappa tartalmát a gazdagépen.
- Önálló: Az alkalmazás a
IIS
Ha egy Blazor-alkalmazást szeretne üzemeltetni az IIS-ben, tekintse meg a következő erőforrásokat:
- IIS-üzemeltetés
- Üzemeltethet és helyezhet üzembe ASP.NET Core-kiszolgálóoldali Blazor alkalmazásokat: Blazor Web Appaz S (.NET 8 vagy újabb) és Blazor Server az IIS-en futó alkalmazásokat (.NET 7 vagy korábbi), beleértve a Windows operációs rendszert és az Azure App Service-t futtató Azure Virtual Machines (VM-ekkel) rendelkező IIS-t is.
- A ASP.NET Core Blazor WebAssembly üzemeltetése és üzembe helyezése az IIS-vel: önálló Blazor WebAssembly alkalmazások (az összes .NET-kiadás) és a üzemeltetett Blazor WebAssembly alkalmazások (.NET 7 vagy korábbi verziók).
- IIS-alalkalmazás üzemeltetése
- Az alkalmazás közzététele előtt kövesse az alkalmazás alapútvonalának útmutatását . A példák egy
/CoolAppalkalmazásbázis-elérési útját használják, és bemutatják, hogyan beszerezni az alap elérési utat az alkalmazásbeállításokból vagy más konfigurációszolgáltatóktól. - Kövesse az alalkalmazás konfigurációs útmutatóját Speciális konfiguráció. Az alalkalmazás gyökérwebhely alatti mappa elérési útja lesz az alalkalmazás virtuális elérési útja. A
/CoolAppalkalmazásbázis-elérési útja esetén a Blazor alkalmazás egyCoolAppnevű mappába kerül a gyökérwebhely alatt, és az alalkalmazás egy virtuális/CoolAppelérési utat vesz fel.
- Az alkalmazás közzététele előtt kövesse az alkalmazás alapútvonalának útmutatását . A példák egy
Az alkalmazáskészlet megosztása ASP.NET Core-alkalmazások között nem támogatott, beleértve Blazor alkalmazásokat is. Alkalmazásonként egy alkalmazáskészletet használjon az IIS-vel való üzemeltetéskor, és kerülje az IIS virtuális könyvtárainak használatát több alkalmazás üzemeltetéséhez.
Egy vagy több
A megoldásokkalkapcsolatos további információkért lásd: ASP.NET Core Blazoreszközkészlete.
JavaScript bundler-támogatás
A Blazor futtatókörnyezet a JavaScript-(JS) fájlokra, a WebAssembly-kódba lefordított .NET-futtatókörnyezetre és a WebAssembly-fájlokként csomagolt felügyelt szerelvényekre támaszkodik. Blazor Az alkalmazások létrehozásakor a Blazor futtatókörnyezet a különböző buildelési helyekről származó fájloktól függ. A Blazor-ra vonatkozó korlátozás miatt a build kimenete nem kompatibilis a kötegelő rendszerekkel, például a JS, a Webpack és a Rollup rendszerekkel.
Ha JS a kötegelőkkel kompatibilis buildkimenetet szeretne létrehozni, állítsa az WasmBundlerFriendlyBootConfig MSBuild tulajdonságot true az alkalmazás projektfájljába:
<WasmBundlerFriendlyBootConfig>true</WasmBundlerFriendlyBootConfig>
Fontos
Ez a funkció csak a kötegelőbarát kimenetet hozza létre az alkalmazás közzétételekor.
A kimenet közvetlenül nem futtatható a böngészőben, de a JS eszközök felhasználhatják a fájlokat a többi fejlesztő által biztosított szkripttel való kötegeléshez JS.
Ha WasmBundlerFriendlyBootConfig engedélyezve van, a létrehozott JS parancs az alkalmazás összes eszközére vonatkozó irányelveket tartalmaz import , ami láthatóvá teszi a függőségeket a kötegelő számára. Sok erőforrás nem tölthető be a böngészőben, de a csomagoló eszközök általában úgy konfigurálhatók, hogy fájltípusuk alapján felismerjék az erőforrásokat a betöltés kezelésére. A kötegelő konfigurálásáról további információt a kötegelő dokumentációjában talál.
Jegyzet
A buildkimenet összekapcsolása úgy lehetséges, hogy az importálást egy egyéni bundler beépülő modullal megfelelteti az JS egyes fájlhelyekre. Jelenleg nem biztosítunk ilyen beépülő modult.
Jegyzet
A files beépülő modul url lecserélésekor az alkalmazás összes JS fájlja, beleértve a Blazor-WebAssembly futtatókörnyezetet (amely a JS base64-be van kódolva), be van csomagolva a kimenetbe. A fájl mérete jelentősen nagyobb (például 300% nagyobb), mint amikor a fájlokat a files beépülő modullal összeállítják, ezért nem javasoljuk, hogy a url beépülő modult általános gyakorlatként használja, amikor bundler-barát kimenetel előállítása a JS kötegelő feldolgozáshoz.
Az alábbi mintaalkalmazások a Rollup-on alapulnak. Hasonló fogalmak vonatkoznak más JS kötegelők használatakor is.
A .NET 10-hez vagy újabb verziókhoz készült React-alkalmazásokban (Blazor WebAssembly) és a WebAssemblyen futó .NET-alkalmazásokban (BlazorWebAssemblyReact) elérhető bemutató mintaalkalmazások DotNetWebAssemblyReact a Blazor GitHub-adattárban (dotnet/blazor-samples).
A gyorsítótárazás szempontjai az Blazor WebAssembly s-ekre vonatkoznak Blazor Web App
Blazor A köteg gyorsítótárazása és a HTTP-gyorsítótárazási útmutató a Blazor WebAssembly csomópontra összpontosít önálló Blazor WebAssembly alkalmazások esetében, de az ügyféloldali gyorsítótárazás több aspektusa is alkalmazható azokra a Blazor Web App-ekre, amelyek interaktív WebAssembly vagy interaktív automatikus renderelési módokat használnak. Ha egy Blazor Web App, amely tartalmat renderel kliensoldalon, statikus erőforrással vagy kötegek gyorsítótárazásával kapcsolatos problémába ütközik, a probléma elhárításához tekintse meg az ezekben a cikkekben található útmutatást.
Blazor Server
MapFallbackToPage konfiguráció
Ez a szakasz csak Blazor Server alkalmazásokra vonatkozik. A(z) MapFallbackToPage nem támogatott a Blazor Web Appés Blazor WebAssembly alkalmazásokban.
Olyan helyzetekben, amikor egy alkalmazáshoz külön terület szükséges egyéni erőforrásokkal és Razor összetevőkkel:
Hozzon létre egy mappát az alkalmazás
Pagesmappájában az erőforrások tárolásához. Egy alkalmazás rendszergazdai szakasza például egy új,Admin(Pages/Admin) nevű mappában jön létre.Hozzon létre egy gyökérlapot (
_Host.cshtml) a területhez. Hozzon létre például egyPages/Admin/_Host.cshtmlfájlt az alkalmazás fő gyökéroldaláról (Pages/_Host.cshtml). Ne adjon meg@pageirányelvet az adminisztrációs_Hostoldalon.Adjon hozzá egy elrendezést a terület mappájához (például
Pages/Admin/_Layout.razor). A különálló terület elrendezésében állítsa be a<base>címkehrefértékét a terület mappájával megegyezőre (például<base href="/Admin/" />). Bemutató céljából adja hozzá a~/-t az oldal statikus erőforrásaihoz. Például:~/css/bootstrap/bootstrap.min.css~/css/site.css-
~/BlazorSample.styles.css(a példaalkalmazás névtereBlazorSample) -
~/_framework/blazor.server.js(Blazor szkript)
Ha a területnek saját statikus eszközmappával kell rendelkeznie, adja hozzá a mappát, és adja meg a helyét a Static File Middleware-ben
Program.cs(példáulapp.UseStaticFiles("/Admin/wwwroot")).Razor a terület mappájába kerülnek az összetevők. Minimum adjon hozzá egy
Indexösszetevőt a területmappához a terület megfelelő@pageirányelvével. Adjon hozzá például egyPages/Admin/Index.razorfájlt az alkalmazás alapértelmezettPages/Index.razorfájlja alapján. Jelölje meg a rendszergazdai területet útvonalsablonként a fájl tetején (@page "/admin"). Szükség szerint adjon hozzá további összetevőket. PéldáulPages/Admin/Component1.razor@pageirányelvvel és@page "/admin/component1útvonalsablonjával.Program.csesetén a terület kérési útvonalának hívása a MapFallbackToPage használatával történjen, közvetlenül a tartalék gyökér oldal útvonala előtt, a_Hostlapra:... app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("~/Admin/{*clientroutes:nonfile}", "/Admin/_Host"); app.MapFallbackToPage("/_Host"); app.Run();