Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Serviço de Aplicações do Azure oferece um serviço de alojamento na Web altamente dimensionável e com correção automática. Este tutorial mostra como implantar um aplicativo ASP.NET controlado por dados no Serviço de Aplicativo e conectá-lo ao Banco de Dados SQL do Azure.
Ao concluir o tutorial, você terá um aplicativo ASP.NET conectado a um banco de dados SQL do Azure em execução no Azure. O exemplo a seguir mostra a interface do aplicativo.
Neste tutorial, você:
- Publique um aplicativo Web controlado por dados no Azure.
- Crie um banco de dados SQL do Azure para armazenar os dados do aplicativo.
- Conecte o aplicativo ASP.NET ao banco de dados SQL do Azure.
- Configure uma identidade gerenciada e a autenticação do Microsoft Entra ID para a conexão do banco de dados.
- Atualize o modelo de dados e reimplante o aplicativo.
- Transmita logs de aplicativos do Azure para o Visual Studio.
Pré-requisitos
- Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
- Instale o Visual Studio 2022 com as cargas de trabalho de desenvolvimento ASP.NET e Web e desenvolvimento do Azure .
- Você pode adicionar as cargas de trabalho a uma instalação existente do Visual Studio selecionando Obter ferramentas e recursos no menu Ferramentas do Visual Studio.
- Certifique-se de ter as atualizações mais recentes para o Visual Studio 2022 selecionando Ajuda>Verificar se há atualizações e instalando a versão mais recente, se necessário.
Criar e executar o aplicativo
O projeto de exemplo contém uma aplicação básica ASP.NET MVC de criar-ler-atualizar-eliminar (CRUD) que usa Entity Framework Code First.
Baixe o projeto de exemplo e extraia o arquivo dotnet-sqldb-tutorial-master.zip .
Abra o arquivo dotnet-sqldb-tutorial-master/DotNetAppSqlDb.sln extraído no Visual Studio.
Pressione F5 para executar o aplicativo e abri-lo em seu navegador padrão.
Nota
Se necessário, instale todos os pacotes NuGet ausentes.
No aplicativo, selecione Criar novo e crie alguns itens to-do .
Teste as ligações Editar, Detalhes e Eliminar.
Publicar o aplicativo no Azure
Para publicar o aplicativo no Azure, crie e configure um perfil de Publicação que tenha um Serviço de Aplicativo do Azure e um Plano do Serviço de Aplicativo para hospedar o aplicativo. Em seguida, crie um SQL Server do Azure e um banco de dados SQL do Azure para conter os dados do aplicativo e configure um contexto de banco de dados para conectar o aplicativo ao banco de dados.
No Gerenciador de Soluções do Visual Studio, clique com o botão direito do mouse no projeto DotNetAppSqlDb e selecione Publicar.
Na tela Publicar , selecione Azure como seu destino e selecione Avançar.
Na tela seguinte, verifique se o Serviço de Aplicativo do Azure (Windows) está selecionado e selecione Avançar.
Entrar e adicionar um Serviço de Aplicativo do Azure
No ecrã Publicar seguinte, inicie sessão na sua conta Microsoft e na subscrição que pretende utilizar.
Ao lado de Serviço de Aplicativo, selecione Criar novo.
Configurar o Serviço de Aplicativo do Azure
Na tela Serviço de Aplicativo (Windows), configure o Nome do Serviço de Aplicativo, o grupo de Recursos e o Plano de Hospedagem.
Em Nome, você pode manter o nome do aplicativo Web gerado ou alterá-lo para outro nome com caracteres
a-z
,0-9
e-
. O nome do aplicativo Web deve ser exclusivo em todos os aplicativos do Azure.Ao lado de Grupo de recursos, selecione Novo e nomeie o grupo de recursos como myResourceGroup.
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure, como aplicativos Web, bancos de dados e contas de armazenamento, são implantados e gerenciados. Por exemplo, pode optar por eliminar todo o grupo de recursos num único passo simples mais tarde.
Junto a Plano de Alojamento, selecione Novo.
Um plano do serviço de aplicações especifica o local, tamanho e funcionalidades da farm de servidores Web que aloja a aplicação. Você pode economizar dinheiro ao hospedar vários aplicativos configurando os aplicativos Web para compartilhar um único plano do Serviço de Aplicativo.
Os planos do Serviço de Aplicações definem:
- Região (por exemplo: Europa do Norte, E.U.A. Leste, Ásia Sudeste)
- Tamanho da instância (pequena, média, grande)
- Contagem do dimensionamento (1 a 20 instâncias)
- SKU (Gratuito, Partilhado, Básico, Standard ou Premium)
Preencha a tela Plano de hospedagem e selecione OK.
Definição Valor sugerido Para obter mais informações Plano do Serviço de Aplicações myAppServicePlan Planos do Serviço de Aplicações Localização Leste dos EUA Regiões do Azure Tamanho Gratuito Escalões de preços Na tela Serviço de Aplicativo (Windows), selecione Criar e aguarde a criação dos recursos do Azure.
A tela Publicar mostra os recursos que você configurou. Selecione Concluire, em seguida, selecione Fechar.
Criar um servidor e uma base de dados
Antes de criar um banco de dados, você precisa de um servidor SQL lógico. Um servidor SQL lógico é uma construção lógica que contém um grupo de bancos de dados gerenciados como um grupo.
No ecrã Publicar do aplicativo DotNetAppSqlDb, na seção Dependências de Serviço, selecione as reticências ... ao lado do Banco de Dados SQL Server e selecione Conectar.
Nota
Certifique-se de configurar o Banco de Dados SQL na guia Publicar , não na guia Serviços Conectados .
Na tela Conectar à dependência , selecione Banco de Dados SQL do Azure e selecione Avançar.
Na tela Configurar Banco de Dados SQL do Azure , selecione Criar novo.
Na tela Banco de Dados SQL do Azure , ao lado de Servidor de banco de dados, selecione Novo.
Altere o nome do servidor para o valor desejado. O nome do servidor deve ser exclusivo em todos os servidores no Azure SQL.
Selecione OK.
Na tela Banco de Dados SQL do Azure , mantenha o Nome do Banco de Dados gerado padrão. Selecione Criar e aguarde a criação dos recursos do banco de dados.
Quando os recursos do banco de dados forem criados, selecione Avançar.
Na tela Conectar ao Banco de Dados SQL do Azure , selecione Concluir.
Nota
Se, em vez disso, vir Ficheiros de segredos de utilizador local , certifique-se de que utilizou a página Publicar , não a página Serviços Ligados , para configurar a Base de Dados SQL.
Sua conexão do Banco de Dados SQL do Azure agora está configurada para usar a Identidade Gerenciada para serviços do Azure, um método seguro de conectar seu aplicativo aos recursos do Azure que não usa segredos ou senhas. Agora você precisa definir as permissões apropriadas no usuário SQL correspondente a essa identidade gerenciada para que a conexão funcione.
Configurar identidade gerenciada
Quando o assistente de criação do Banco de Dados SQL do Azure configurou o servidor SQL do Azure com uma identidade gerenciada e autenticação padrão do Entra ID, ele adicionou sua conta do Entra ID como administrador do SQL do Azure. Se você estiver conectado à mesma conta no Visual Studio, poderá usar a mesma cadeia de conexão para se conectar ao banco de dados no Visual Studio e no Azure.
No menu Ferramentas, selecione Gestor de Pacotes NuGet>Consola do Gestor de Pacotes.
No Console do Gerenciador de Pacotes, instale os seguintes pacotes:
Install-Package Microsoft.Data.SqlClient Install-Package Microsoft.EntityFramework.SqlServer
Em uma linha de comando do PowerShell, execute o seguinte comando para entrar no Banco de dados SQL, substituindo
<server-name>
pelo nome do servidor e<entra-id-user>
pelo nome de usuário do Microsoft Entra usado para configurar o banco de dados no Visual Studio. Esse usuário do Entra tem acesso de administrador ao servidor de banco de dados por padrão.sqlcmd -S <servername>.database.windows.net -d DotNetAppSqlDb_db -U <entra-id-user> -G -l 30
Siga as instruções para entrar.
No prompt SQL, execute os seguintes comandos para conceder as permissões mínimas de que seu aplicativo precisa, substituindo
<app-name>
pelo nome do aplicativo.CREATE USER [<app-name>] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [<app-name>]; ALTER ROLE db_datawriter ADD MEMBER [<app-name>]; ALTER ROLE db_ddladmin ADD MEMBER [<app-name>]; GO
Atualizar o contexto do banco de dados
O aplicativo usa um contexto de banco de dados para se conectar ao banco de dados, que é referenciado no arquivo Models/MyDatabaseContext.cs . Nesta seção, você atualiza o código para fazer referência ao provedor do SQL Server do Entity Framework 6, que depende do provedor de ADO.NET Microsoft.Data.SqlClient moderno.
O provedor do Entity Framework 6 substitui o provedor incorporado do System.Data.SqlClient
SQL Server e inclui suporte para os métodos de autenticação do Microsoft Entra ID. Para obter mais informações, consulte Microsoft.EntityFramework.SqlServer}.
[DbConfigurationType(typeof(MicrosoftSqlDbConfiguration))]
funciona localmente para usar Microsoft.Data.SqlClient
para o contexto de banco de dados, mas, como System.Data.SqlClient
é definido como o fornecedor no Serviço de Aplicativo do Azure, precisa estender MicrosoftSqlDbConfiguration
para redirecionar referências de System.Data.SqlClient
para Microsoft.Data.SqlClient
em vez disso.
Em web.config, remova a seção
entityFramework/providers/provider
e a linha<provider invariantName="System.Data.SqlClient" .../>
.Em Models/MyDatabaseContext.cs, adicione a seguinte classe:
public class AppServiceConfiguration : MicrosoftSqlDbConfiguration { public AppServiceConfiguration() { SetProviderFactory("System.Data.SqlClient", Microsoft.Data.SqlClient.SqlClientFactory.Instance); SetProviderServices("System.Data.SqlClient", MicrosoftSqlProviderServices.Instance); SetExecutionStrategy("System.Data.SqlClient", () => new MicrosoftSqlAzureExecutionStrategy()); } }
Adicione o seguinte atributo à declaração de
MyDatabaseContext
classe:[DbConfigurationType(typeof(AppServiceConfiguration))]
Implantar o aplicativo ASP.NET
Na parte superior da guia Publicar , selecione Publicar. O seu aplicativo ASP.NET é implementado no Azure, e o seu navegador padrão é aberto no URL da aplicação implementada.
Para testar o aplicativo, adicione alguns itens to-do.
Parabéns! A aplicação ASP.NET condicionada por dados está em execução no Serviço de Aplicações do Azure.
Usar o Pesquisador de Objetos do SQL Server
Você pode usar o Pesquisador de Objetos do SQL Server do Visual Studio para explorar e gerenciar facilmente seu banco de dados SQL do Azure. No Pesquisador de Objetos do SQL Server, você pode executar as operações de banco de dados mais comuns, como executar consultas ou criar tabelas, exibições e procedimentos armazenados.
Permitir a ligação de cliente a partir do computador
Por padrão, o servidor do Azure permite conexões com seus bancos de dados somente de serviços do Azure, como seu aplicativo do Azure. O novo banco de dados abriu o seu firewall para a aplicação App Service que você criou.
Para acessar o banco de dados do seu computador local, como do Visual Studio, o servidor do Azure deve abrir o firewall para permitir o acesso ao endereço IP público da máquina.
Se lhe for pedido para adicionar acesso ao seu cliente local, certifique-se de que seleciona a opção Permitir o endereço IP público do computador. Esta opção cria uma regra de firewall para permitir o endereço IP público do computador local. A caixa de diálogo já está preenchida com o endereço IP atual do seu computador.
Se você não receber uma solicitação para adicionar acesso ao seu computador local, poderá ir para o banco de dados SQL do Azure no portal do Azure e selecionar Definir firewall do servidor na barra de menu superior. Na página Rede , em Regras de firewall, selecione a opção Adicionar o endereço IPv4 do cliente.
Nota
Se seu provedor de serviços de Internet alterar seu endereço IP público, você precisará reconfigurar o firewall para acessar o banco de dados do Azure novamente.
Conectar-se ao banco de dados SQL do Azure localmente
No menu Ver, selecione SQL Server Object Explorer.
Na parte superior da janela do Pesquisador de Objetos do SQL Server , selecione o ícone para Adicionar SQL Server.
No ecrã Conectar, a sua ligação aparece sob o nó Azure. Preencha as informações para seu Nome do Servidor, Nome de Usuário, Senha e Nome do Banco de Dados e selecione Conectar.
Quando o Visual Studio concluir a configuração da conexão para sua instância do Banco de dados SQL, seu banco de dados aparecerá no Pesquisador de Objetos do SQL Server. Expanda <nome da conexão>>Bases de dados><nome da base de dados>> para ver os dados.
Expanda Tabelas, clique com o botão direito do mouse na
ToDoes
tabela e selecione Exibir dados para interagir com os dados do banco de dados.
Atualizar a aplicação com migrações Code First
Você pode usar ferramentas familiares no Visual Studio para atualizar seu banco de dados e aplicativo no Azure. Nesta etapa, você usa as migrações Code First no Entity Framework para alterar seu esquema de banco de dados e publicar a alteração no Azure.
Para obter mais informações sobre como utilizar o Entity Framework Code First Migrations, veja Getting Started with Entity Framework 6 Code First using MVC 5 (Introdução a Entity Framework 6 Code First com MVC 5).
Atualizar o modelo de dados
Abra Models\Todo.cs no editor de código. Adicione a seguinte propriedade à classe ToDo
:
public bool Done { get; set; }
Executar Primeiras Migrações de Código localmente
Execute alguns comandos para fazer atualizações à base de dados local.
No menu Ferramentas, selecione Gestor de Pacotes NuGet>Consola do Gestor de Pacotes.
Na janela da Consola do Gestor de Pacotes, ative as Migrações Code First:
Enable-Migrations
Adicione uma migração:
Add-Migration AddProperty
Atualize a base de dados local:
Update-Database
Pressione Ctrl+F5 para executar o aplicativo. Teste os links Editar, Detalhes e Criar Novo.
Se o aplicativo for carregado sem erros, as migrações Code First foram bem-sucedidas. No entanto, sua página ainda tem a mesma aparência porque a lógica do aplicativo ainda não está usando essa nova propriedade.
Utilizar a nova propriedade
Faça algumas alterações no seu código para ver a Done
propriedade em ação. Para este tutorial, altera apenas as Index
e Create
vistas para usar a nova propriedade.
Abra Controllers\TodosController.cs e, no
Create()
método na linha 52, adicioneDone
à lista de propriedades noBind
atributo. A suaCreate()
assinatura de método deve parecer com o seguinte exemplo de código:public ActionResult Create([Bind(Include = "Description,CreatedDate,Done")] Todo todo)
Abra Views\Todos\Create.cshtml e, no código Razor, anote o
<div class="form-group">
elemento que usamodel.Description
e o<div class="form-group">
elemento que usamodel.CreatedDate
.Depois desses dois elementos, adicione o seguinte
<div class="form-group">
elemento que usamodel.Done
:<div class="form-group"> @Html.LabelFor(model => model.Done, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.Done) @Html.ValidationMessageFor(model => model.Done, "", new { @class = "text-danger" }) </div> </div> </div>
Abra Views\Todos\Index.cshtml e, logo acima do elemento vazio
<th></th>
, adicione o seguinte código Razor:<th> @Html.DisplayNameFor(model => model.Done) </th>
Acima do
<td>
elemento que contém osHtml.ActionLink()
métodos auxiliares, adicione outro<td>
elemento com o seguinte código Razor:<td> @Html.DisplayFor(modelItem => item.Done) </td>
Salve todos os arquivos e pressione Ctrl+F5 para executar o aplicativo.
No aplicativo, adicione um item de to-do e selecione Concluído. O item deve aparecer na sua página inicial como um item concluído. A vista Editar não mostra o campo Concluído , porque não alterou a vista Editar .
Ativar Migrações First Code no Azure
Agora que sua alteração de código funciona, incluindo a migração de banco de dados, você pode publicá-la em seu aplicativo do Azure e atualizar seu banco de dados SQL do Azure com migrações Code First também.
No Gerenciador de Soluções do Visual Studio, clique com o botão direito do mouse em seu projeto e selecione Publicar.
Selecione Mais ações>Editar para abrir as configurações de publicação.
No menu suspenso MyDatabaseContext, selecione a conexão de banco de dados para seu banco de dados SQL do Azure.
Selecione Executar migrações Code First (executado no início do aplicativo) e, em seguida, selecione Salvar.
Publicar as alterações
Agora que você habilitou as migrações Code First em seu aplicativo do Azure, publique suas alterações de código.
Na página Publicar, selecione Publicar.
No aplicativo Web publicado, tente adicionar mais itens to-do novamente e selecionar Concluído, e eles devem aparecer na sua página inicial como itens concluídos.
Todos os itens a fazer existentes continuam a ser apresentados. Quando você republica seu aplicativo ASP.NET, os dados existentes em seu banco de dados SQL do Azure não são perdidos. Além disso, o Code First Migrations altera apenas o esquema de dados e deixa seus dados intactos.
Transmitir em fluxo registos de aplicações
Você pode transmitir mensagens de rastreamento diretamente do seu aplicativo do Azure para o Visual Studio.
Abra Controllers\TodosController.cs e observe que cada ação começa com um Trace.WriteLine()
método. Este código mostra como adicionar mensagens de rastreamento ao seu aplicativo do Azure.
Ativar a transmissão em fluxo de registos
Na página Publicar do Visual Studio, role para baixo até a seção Hospedagem .
Clique nas reticências ... no canto superior direito e selecione Ver logs de streaming.
Os registos são agora transmitidos em fluxo para a janela Saída.
Você ainda não vê nenhuma mensagem de rastreamento, porque quando você seleciona pela primeira vez Exibir logs de streaming, seu aplicativo do Azure define o nível de rastreamento como
Error
, que registra apenas eventos de erro usando oTrace.TraceError()
método.
Alterar os níveis de rastreio
Para alterar os níveis de rastreio para gerar outras mensagens de rastreamento, na seção Hospedagem da página Publicar, selecione ... no canto superior direito e selecione Abrir no Portal do Azure.
Na página do portal do Azure para seu aplicativo, selecione Logs do Serviço de Aplicativo em Monitoramento no menu à esquerda.
Em Registo de aplicações (Sistema de ficheiros), selecione Detalhado em Nível e, em seguida, selecione Guardar.
Gorjeta
Pode experimentar diferentes níveis de rastreio para ver os tipos de mensagens que são apresentadas para cada nível. Por exemplo, o nível Informação inclui todos os registos criados por
Trace.TraceInformation()
,Trace.TraceWarning()
eTrace.TraceError()
, mas não os criados porTrace.WriteLine()
.No seu navegador, aceda à sua aplicação de lista do Azure to-do novamente e navegue na aplicação. Mensagens de rastreamento como os exemplos a seguir agora são transmitidas para a janela Saída no Visual Studio.
Application:2025-05-12T23:41:11 PID[17108] Verbose GET /Todos/Index Application:2025-05-12T23:42:04 PID[17108] Verbose GET /Todos/Index Application:2025-05-12T23:42:06 PID[17108] Verbose POST /Todos/Create Application:2025-05-12T23:42:07 PID[17108] Verbose GET /Todos/Index
Parar o registo de transmissão em fluxo
Para interromper o serviço de streaming de log, selecione o ícone Parar monitoramento na janela Saída .
Clean up resources (Limpar recursos)
Nos passos anteriores, criou os recursos do Azure num grupo de recursos. Se provavelmente não necessitar desses recursos no futuro, pode eliminá-los ao eliminar o grupo de recursos.
- Na página Descrição geral da sua aplicação Web no portal do Azure, selecione a ligação myResourceGroup em Grupo de recursos.
- Na página do grupo de recursos, confirme que os recursos apresentados são aqueles que pretende eliminar.
- Selecione Excluir grupo de recursos, digite myResourceGroup na caixa de texto e selecione Excluir.
- Confirme novamente selecionando Excluir.
Conteúdo relacionado
- Configurar uma aplicação ASP.NET para o Serviço de Aplicações do Azure
- Início rápido: Começar a utilizar a análise de custos
Vá para o próximo tutorial para saber como usar a identidade gerenciada para melhorar a segurança de conexão do Banco de Dados SQL do Azure.