【发布时间】:2018-10-01 12:34:24
【问题描述】:
我有这个代码:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var hostBuilder = WebHost.CreateDefaultBuilder(args);
var settingName = "SHUTDOWNTIMEOUTSECONDS";
var settingTiemOut= hostBuilder.GetSetting(settingName);
//...
//convert to double dbltimeout
//...
hostBuilder
.UseShutdownTimeout(TimeSpan.FromSeconds(dbltimeout))
.UseStartup<Startup>();
return hostBuilder;
}
}
我了解 CreateDefaultBuilder 加载配置 'appsettings.json'、环境变量和命令行参数。 如果我在 launchSettings.json 中定义 SHUTDOWNTIMEOUTSECONDS,例如:
"environmentVariables": {
"ASPNETCORE_SHUTDOWNTIMEOUTSECONDS": "30"
}
然后 settingTiemout 正确设置为 30。 但是,如果我将其从 launchSettings.json 中删除并将其添加到 appsettings.json 中,则 settingTiemout 会变为 null。 为什么?
谢谢
【问题讨论】:
标签: asp.net-core-2.1