Distribuera en Blazor-app i Azure Static Web Apps
Azure Static Web Apps publicerar en webbplats i en produktionsmiljö genom att skapa appar från en GitHub-lagringsplats som stöds av en serverlös serverdel. Följande självstudie visar hur du distribuerar C# Blazor WebAssembly-appen som visar väderdata som returneras av ett serverlöst API.
Kommentar
Anvisningar för hur du distribuerar en Blazor-app via Visual Studio finns i Distribuera en Blazor-app i Azure Static Web Apps.
Förutsättningar
- GitHub-konto
- Azure-konto. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt utvärderingskonto.
1. Skapa en lagringsplats
Den här artikeln använder en GitHub-malllagringsplats för att göra det enkelt för dig att komma igång. Mallen innehåller en startapp som du kan distribuera till Azure Static Web Apps.
- Kontrollera att du är inloggad på GitHub och gå till följande plats för att skapa en ny lagringsplats: https://github.com/staticwebdev/blazor-starter/generate
- Ge lagringsplatsen namnet my-first-static-blazor-app.
2. Skapa en statisk webbapp
Nu när lagringsplatsen har skapats skapar du en statisk webbapp från Azure Portal.
Gå till Azure-portalen.
Välj Skapa en resurs.
Sök efter Static Web Apps.
Välj Statisk webbapp.
Välj Skapa.
På fliken Grundläggande anger du följande värden.
Property Värde Abonnemang Ditt Azure-prenumerationsnamn. Resursgrupp my-blazor-group Namn my-first-static-blazor-app Plantyp Kostnadsfri Region för Azure Functions API och mellanlagringsmiljöer Välj en region som är närmast dig. Source GitHub Välj Logga in med GitHub och autentisera med GitHub om du uppmanas att göra det.
Ange följande GitHub-värden.
Property Värde Organisation Välj önskad GitHub-organisation. Lagringsplats Välj my-first-static-blazor-app. Gren Välj huvud. Kommentar
Om du inte ser några lagringsplatser kan du behöva auktorisera Azure Static Web Apps på GitHub. Bläddra sedan till din GitHub-lagringsplats och gå till Inställningar Program Auktoriserade OAuth-appar, välj Azure Static Web Apps och välj sedan Bevilja.> > För organisationens lagringsplatser måste du vara ägare till organisationen för att bevilja behörigheterna.
I avsnittet Bygginformation väljer du Blazor i listrutan Build Presets (Skapa förinställningar) och följande värden fylls i.
Property Värde beskrivning Applats Client Mapp som innehåller Blazor WebAssembly-appen API-plats Application Programming Interface Mapp som innehåller Azure Functions-appen Utdataplats wwwroot Mapp i byggutdata som innehåller det publicerade Blazor WebAssembly-programmet Välj Granska + Skapa för att kontrollera att informationen är korrekt.
Välj Skapa för att starta skapandet av den statiska webbappen och etablera en GitHub Actions för distribution.
När distributionen är klar väljer du Gå till resurs.
Välj Gå till resurs.
3. Visa webbplatsen
Det finns två aspekter för att distribuera en statisk app. Den första etablerar de underliggande Azure-resurserna som utgör din app. Den andra är ett GitHub Actions-arbetsflöde som bygger och publicerar din app.
Innan du kan gå till din nya statiska webbapp måste distributionsversionen först köras.
Översiktsfönstret för Static Web Apps visar en serie länkar som hjälper dig att interagera med din webbapp.
Välj banderollen som säger, Klicka här för att kontrollera statusen för dina GitHub Actions-körningar för att se GitHub Actions som körs mot din lagringsplats. När du har kontrollerat att distributionsjobbet är klart kan du gå till din webbplats via den genererade URL:en.
När GitHub Actions-arbetsflödet är klart kan du välja URL-länken för att öppna webbplatsen på den nya fliken.
4. Förstå programöversikten
Tillsammans utgör följande projekt de delar som krävs för att skapa ett Blazor WebAssembly-program som körs i webbläsaren som stöds av en Azure Functions API-serverdel.
Visual Studio-projekt | beskrivning |
---|---|
Api | C# Azure Functions-programmet implementerar API-slutpunkten som tillhandahåller väderinformation till Blazor WebAssembly-appen. WeatherForecastFunction returnerar en matris med WeatherForecast objekt. |
Klient | Projektet Blazor WebAssembly i klientdelen. En återställningsväg implementeras för att säkerställa att routningen på klientsidan fungerar. |
Delad | Innehåller vanliga klasser som refereras av både API- och klientprojekten, vilket gör att data kan flöda från API-slutpunkten till klientwebbappen. Klassen WeatherForecast delas mellan båda apparna. |
Blazor statisk webbapp
Reservväg
Appen exponerar URL:er som /counter
och /fetchdata
, som mappar till specifika vägar i appen. Eftersom den här appen implementeras som en enda sida hanteras varje väg i index.html
filen. För att säkerställa att begäranden om en sökväg returneras index.html
implementeras en återställningsväg i staticwebapp.config.json
filen som finns i klientprojektets rotmapp.
{
"navigationFallback": {
"rewrite": "/index.html"
}
}
JSON-konfigurationen säkerställer att begäranden till valfri väg i appen returnerar index.html
sidan.
Rensa resurser
Om du inte ska använda det här programmet kan du ta bort Azure Static Web Apps-instansen genom följande steg:
- Öppna Azure Portal.
- Sök efter my-blazor-group från det övre sökfältet.
- Välj i gruppnamnet.
- Välj Ta bort.
- Välj Ja för att bekräfta borttagningsåtgärden.