Compartilhar via


Migrar a configuração para o ASP.NET Core

No artigo anterior, começamos a migrar um projeto ASP.NET MVC para ASP.NET Core MVC. Neste artigo, migramos a configuração.

Visualizar ou descarregar amostra de código (como descarregar)

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 Application_StartUp método dentro do Global.asax. Mais tarde, em ASP.NET MVC, um Startup.cs arquivo foi incluído na raiz do projeto, e ele foi chamado quando o aplicativo foi iniciado. ASP.NET Core adotou essa abordagem completamente, colocando toda a Startup.cs lógica de inicialização no arquivo.

O arquivo web.config também foi substituído no ASP.NET Core. A configuração em si 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 ASP.NET projetos principais colocarão valores de configuração em um arquivo formatado em 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 verificados no controle do código-fonte. Consulte Configuração para saber mais sobre a configuração no ASP.NET Core.

Advertência

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 configurar a configuração, adicione o seguinte construtor e propriedade ao Startup.cs arquivo localizado na raiz do projeto:

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

Observe que, neste ponto, o Startup.cs arquivo não será compilado, pois ainda precisamos adicionar a seguinte using instrução:

using Microsoft.Extensions.Configuration;

Adicione um appsettings.json arquivo à raiz do projeto usando o modelo de item apropriado:

Adicionar AppSettings JSON

Migrar definições de configuração do web.config

Nosso projeto MVC ASP.NET incluiu a cadeia de conexão de banco de dados necessária em web.config, no <connectionStrings> elemento . Em nosso projeto ASP.NET Core, vamos armazenar essas informações no appsettings.json arquivo. Abra appsettings.jsone observe que ele já inclui o seguinte:

{
    "Data": {
        "DefaultConnection": {
            "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
        }
    }
}

Na linha realçada acima, altere o nome do banco de dados de _CHANGE_ME para o nome do seu banco de dados.

Resumo

ASP.NET Core coloca toda a lógica de inicialização do aplicativo em um único arquivo, no qual os serviços e 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.