Migrar a configuração para o ASP.NET Core
No artigo anterior, começamos a migrar um projeto ASP.NET MVC para o ASP.NET Core MVC. Neste artigo, migraremos a configuração.
Exibir ou baixar código de exemplo (como baixar)
Configuração da instalação
ASP.NET Core não usa mais os arquivos Global.asax e web.config que as versões anteriores do ASP.NET utilizavam. Nas versões anteriores do ASP.NET, a lógica de inicialização do aplicativo era colocada em um método Application_StartUp
dentro do Global.asax. Posteriormente, no ASP.NET MVC, um arquivo Startup.cs
foi incluído na raiz do projeto e foi chamado quando o aplicativo foi iniciado. O ASP.NET Core adotou essa abordagem completamente, colocando toda a lógica de inicialização no arquivo Startup.cs
.
O arquivo web.config também foi substituído no ASP.NET Core. A própria configuração agora pode ser configurada, como parte do procedimento de inicialização do aplicativo descrito em Startup.cs
. A configuração ainda pode utilizar arquivos XML, mas, normalmente, os projetos do ASP.NET Core colocam os valores de configuração em um arquivo no formato JSON, como appsettings.json
. O sistema de configuração do ASP.NET Core também pode acessar facilmente variáveis de ambiente, o que pode fornecer um local mais seguro e robusto para valores específicos do ambiente. Isso é especialmente verdadeiro para segredos como cadeias de conexão e chaves de API que não devem ser verificadas no controle do código-fonte. Consulte Configuração para saber mais sobre configuração no ASP.NET Core.
Aviso
Este artigo usa um banco de dados local que não exige que o usuário seja autenticado. Os aplicativos de produção devem usar o fluxo de autenticação mais seguro disponível. Para obter mais informações sobre autenticação para aplicativos de teste e produção implantados, consulte Fluxos de autenticação seguros.
Para este artigo, começaremos com o projeto ASP.NET Core parcialmente migrado doartigo anterior. Para definir a configuração, adicione o construtor e a propriedade a seguir ao arquivo Startup.cs
localizado na raiz do projeto:
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
Observe que, nesse ponto, o arquivo Startup.cs
não será compilado, pois ainda precisamos adicionar a seguinte instrução using
:
using Microsoft.Extensions.Configuration;
Adicione um arquivo appsettings.json
à raiz do projeto usando o modelo de item apropriado:
Migrar as definições de configuração do web.config
Nosso projeto ASP.NET MVC incluiu a cadeia de conexões de banco de dados necessária no web.config, no elemento <connectionStrings>
. Em nosso projeto ASP.NET Core, vamos armazenar essas informações no arquivo appsettings.json
. Abra appsettings.json
e observe que ele já inclui o seguinte:
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
}
}
}
Na linha realçada descrita acima, altere o nome do banco de dados de _CHANGE_ME para o nome do seu banco de dados.
Resumo
O ASP.NET Core coloca toda a lógica de inicialização do aplicativo em um único arquivo, no qual os serviços e as dependências necessários podem ser definidos e configurados. Ele substitui o arquivo web.config por um recurso de configuração flexível que pode aproveitar uma variedade de formatos de arquivo, como JSON, bem como variáveis de ambiente.