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:

Adicione AppSettings JSON

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.