Implementar uma aplicação Blazor no Aplicações Web Estáticas do Azure
Aplicações Web Estáticas do Azure publica um site num ambiente de produção ao criar aplicações a partir de um repositório do GitHub suportado por um back-end sem servidor. O tutorial seguinte mostra como implementar a aplicação C# Blazor WebAssembly que apresenta os dados meteorológicos devolvidos por uma API sem servidor.
Pré-requisitos
- Conta do GitHub
- Conta do Azure . Se não tiver uma subscrição do Azure, crie uma conta de avaliação gratuita.
1. Criar um repositório
Este artigo utiliza um repositório de modelos do GitHub para facilitar a introdução. O modelo apresenta uma aplicação inicial que pode implementar no Aplicações Web Estáticas do Azure.
- Certifique-se de que tem sessão iniciada no GitHub e aceda à seguinte localização para criar um novo repositório: https://github.com/staticwebdev/blazor-starter/generate
- Atribua o nome my-first-static-blazor-app ao seu repositório.
2. Criar uma aplicação Web estática
Agora que o repositório foi criado, crie uma aplicação Web estática a partir do portal do Azure.
Aceda ao Portal do Azure.
Selecione Criar um Recurso.
Procure Aplicações Web Estáticas.
Selecione Aplicação Web Estática.
Selecione Criar.
No separador Noções básicas , introduza os seguintes valores.
Propriedade Valor Subscrição O nome da sua subscrição do Azure. Grupo de recursos my-blazor-group Nome my-first-static-blazor-app Tipo de plano Gratuito Região para Funções do Azure API e ambientes de teste Selecione uma região mais próxima de si. Origem GitHub Selecione Iniciar sessão com o GitHub e efetue a autenticação com o GitHub, se lhe for pedido.
Introduza os seguintes valores do GitHub.
Propriedade Valor Organização Selecione a organização do GitHub pretendida. Repositório Selecione my-first-static-blazor-app. Ramo Selecione principal. Nota
Se não vir repositórios, poderá ter de autorizar Aplicações Web Estáticas do Azure no GitHub. Em seguida, navegue para o seu repositório do GitHub e aceda a Definições Aplicações > OAuth Apps Autorizadas>, selecione Aplicações Web Estáticas do Azure e, em seguida, selecione Conceder. Para os repositórios da organização, tem de ser proprietário da organização para conceder as permissões.
Na secção Detalhes da Compilação , selecione Blazor na lista pendente Criar Predefinições e os seguintes valores são preenchidos.
Propriedade Valor Descrição Localização da aplicação Cliente Pasta que contém a aplicação Blazor WebAssembly Localização da API API Pasta que contém a aplicação Funções do Azure Localização da saída wwwroot Pasta na saída da compilação que contém a aplicação publicada do Blazor WebAssembly Selecione Rever + Criar para verificar se os detalhes estão todos corretos.
Selecione Criar para iniciar a criação da aplicação Web estática e aprovisionar um GitHub Actions para implementação.
Assim que a implementação estiver concluída, selecione Ir para recurso.
Selecione Ir para recurso.
3. Ver o site
Existem dois aspetos para implementar uma aplicação estática. O primeiro aprovisiona os recursos subjacentes do Azure que compõem a sua aplicação. O segundo é um fluxo de trabalho do GitHub Actions que compila e publica a sua aplicação.
Antes de poder aceder à sua nova aplicação Web estática, a compilação de implementação tem primeiro de concluir a execução.
A janela de descrição geral Aplicações Web Estáticas apresenta uma série de ligações que o ajudam a interagir com a sua aplicação Web.
Selecione a faixa que diz Clique aqui para verificar o estado do seu GitHub Actions é executado para ver o GitHub Actions em execução no repositório. Depois de verificar se a tarefa de implementação está concluída, pode aceder ao seu site através do URL gerado.
Assim que GitHub Actions fluxo de trabalho estiver concluído, pode selecionar a ligação de URL para abrir o site no novo separador.
4. Compreender a descrição geral da aplicação
Em conjunto, os seguintes projetos constituem as partes necessárias para criar uma aplicação Do Blazor WebAssembly em execução no browser suportado por um back-end da API Funções do Azure.
Projeto do Visual Studio | Descrição |
---|---|
API | A aplicação C# Funções do Azure implementa o ponto final da API que fornece informações meteorológicas à aplicação Blazor WebAssembly. WeatherForecastFunction devolve uma matriz de WeatherForecast objetos. |
Cliente | O projeto do Blazor WebAssembly de front-end. É implementada uma rota de contingência para garantir que o encaminhamento do lado do cliente está funcional. |
Partilhado | Contém classes comuns referenciadas pelos projetos API e Client, que permitem que os dados fluam do ponto final da API para a aplicação Web de front-end. A WeatherForecast classe é partilhada entre ambas as aplicações. |
Aplicação Web estática blazor
Rota de contingência
A aplicação expõe URLs como /counter
e /fetchdata
, que mapeiam para rotas específicas da aplicação. Uma vez que esta aplicação é implementada como uma única página, cada rota é servida ao index.html
ficheiro. Para garantir que os pedidos para qualquer caminho devolvem index.html
, é implementada uma rota de contingência no staticwebapp.config.json
ficheiro encontrado na pasta raiz do projeto cliente.
{
"navigationFallback": {
"rewrite": "/index.html"
}
}
A configuração JSON garante que os pedidos para qualquer rota na aplicação devolvem a index.html
página.
Limpar os recursos
Se não pretender utilizar esta aplicação, pode eliminar a instância Aplicações Web Estáticas do Azure através dos seguintes passos:
- Abra o portal do Azure.
- Procure my-blazor-group na barra de pesquisa superior.
- Selecione o nome do grupo.
- Selecione Eliminar.
- Selecione Sim para confirmar a ação de eliminação.