在初始化应用程序主机之前,我需要从应用程序的配置中读取一些设置以进行其他设置。
在ASP.NET Core 2.x中,在初始化应用程序主机之前读取设置,我曾用来执行以下操作:
public static void Main(string[] args)
{
//...
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.AddCommandLine(args)
.AddJsonFile("appsettings.json")
.Build();
//Do something useful with the configuration...
var host = WebHost.CreateDefaultBuilder()
.UseStartup<Startup>()
.UseConfiguration(configuration)
.Build();
//...
}
Run Code Online (Sandbox Code Playgroud)
在ASP中,WebHost 不建议使用 .NET Core 3.x ,而应使用.NET Generic Host。
.NET通用主机只有一个.ConfigureHostConfiguration(),.ConfigureAppConfiguration()并且不将内置配置作为参数,而是仅接受用于设置配置的委托。
对于HTTP工作负载,您仍然可以使用该方法.UseConfiguration()公开的方法,IWebHostBuilder并且基本上与以前相同:
public static void Main(string[] args)
{
//...
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.AddCommandLine(args)
.AddJsonFile("appsettings.json")
.Build();
//Do something useful with the configuration...
var host = …Run Code Online (Sandbox Code Playgroud)