Definir um ambiente personalizado no ASP.NET Core


Um dos recursos interessantes do ASP.NET Core é o Gerenciamento do Ambiente de Hospedagem. Isso torna a vida mais fácil para os desenvolvedores, enquanto lida com vários ambientes. Anteriormente, os desenvolvedores tinham que construir o aplicativo de maneira diferente para cada ambiente (Staging, UAT, Production) devido à dependência nas seções do arquivo de configuração e à diretiva de pré-processamento aplicável em tempo de compilação. É um processo demorado e doloroso. O ASP.NET Core adota uma abordagem diferente e oferece uma nova maneira de salvar os desenvolvedores de todo esse incômodo.

O ASP.NET Core oferece uma interface chamada IHostingEnvironment, permite recuperar programaticamente o ambiente atual para que você possa ter um comportamento específico do ambiente. Por padrão, o ASP.NET Core possui 3 ambientes: Desenvolvimento, Preparação e Produção. Em projetos da vida real, esses três ambientes podem não ser suficientes, pois você pode ter alguns outros ambientes, como QA, UAT, etc. Este post mostra como definir um ambiente personalizado no ASP.NET Core, além desses três ambientes padrão.

Definir um ambiente personalizado no ASP.NET Core

IHostingEnvironment fornece informações sobre o ambiente de hospedagem na Web em que um aplicativo está sendo executado. O ASP.NET Core lê a variável de ambiente ASPNETCORE_ENVIRONMENT na inicialização do aplicativo e armazena esse valor em IHostingEnvironment.EnvironmentName. Como essa abordagem é baseada em uma variável de ambiente, a alternância de ambientes ocorre em tempo de execução e não em tempo de compilação, como no antigo ASP.NET.

ASPNETCORE_ENVIRONMENT pode ser definido para qualquer valor, mas três valores são suportados pela estrutura: Desenvolvimento, Preparação e Produção. Se nenhum valor for definido, o padrão será Produção. Para definir qualquer valor diferente desses valores padrão, crie uma classe estática que crie métodos de extensão em uma interface IHostingEnvironment. Como por exemplo:

public static class HostingEnvironmentExtensions
{
    public const string QAEnvironment = "QA";
    public const string UATEnvironment = "UAT";
    public const string TestEnvironment = "Test";
 
    public static bool IsQA(this IHostingEnvironment hostingEnvironment)
    {
        return hostingEnvironment.IsEnvironment(QAEnvironment);
    }
 
    public static bool IsUAT(this IHostingEnvironment hostingEnvironment)
    {
        return hostingEnvironment.IsEnvironment(UATEnvironment);
    }
 
    public static bool IsTest(this IHostingEnvironment hostingEnvironment)
    {
        return hostingEnvironment.IsEnvironment(TestEnvironment);
    }
}

A classe estática acima adiciona o ambiente QA, UAT e Test. O intellisense do Visual Studio também confirma isso.

Define a custom environment in ASP.NET Core

Você pode definir o valor de ASPNETCORE_ENVIRONMENT para qualquer um deles e o aplicativo se comportará de acordo. Você pode definir o valor dessa variável por meio do prompt de comando, do PowerShell, do Visual Studio e do painel de controle do Windows.

Por favor, consulte este post para saber mais sobre como configurar o ASPNETCORE_ENVIRONMENT.

aspnetcore · ‎ambiente · ‎c

Última atualização: 16/02/2019 às 06:43


  • Buscar