Net Core教程

.net ASPNETCORE_ENVIRONMENT 根据环境切换不同的配置文件

本文主要是介绍.net ASPNETCORE_ENVIRONMENT 根据环境切换不同的配置文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

调整program.cs文件中的CreateHostBuilder方法

//从hostingContext.HostingEnvironment.EnvironmentName中获取对应的环境名称
 public static IHostBuilder CreateHostBuilder(string[] args)
        {
            return Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((hostingContext,config) =>
                {
                    config.Sources.Clear();
                    var env = hostingContext.HostingEnvironment;
                    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddJsonFile($"appsettings.{env.EnvironmentName}.json",
                                         optional: true, reloadOnChange: true);

                    Console.WriteLine($"appsettings.{env.EnvironmentName}.json");

                    config.AddEnvironmentVariables();

                    if (args != null)
                    {
                        config.AddCommandLine(args);
                    }
                })
                .UseContentRoot(AppDomain.CurrentDomain.BaseDirectory)
                .UseServiceProviderFactory(new AutofacServiceProviderFactory())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder
                    .UseUrls($"http://{ip}:{port}")
                    .UseStartup<Startup>()
                    ;
                })
                .UseWindowsService();
        }

hostingContext.HostingEnvironment对象下包含四个可以判断当前环境的方法

IsDevelopment()
IsStaging()
IsProduction()
IsEnvironment()

可以通过配置环境变量(windows中为系统变量) ASPNETCORE_ENVIRONMENT 来切换环境

[参考]
ASP.NET CORE 根据环境变量支持多个 appsettings.json

这篇关于.net ASPNETCORE_ENVIRONMENT 根据环境切换不同的配置文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!