I have this code:
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;
}
}
I understand CreateDefaultBuilder loads configuration from 'appsettings.json', environment variables and command line args. If I define SHUTDOWNTIMEOUTSECONDS in launchSettings.json like:
"environmentVariables": {
"ASPNETCORE_SHUTDOWNTIMEOUTSECONDS": "30"
}
then settingTiemout is set to 30 correctly. However, if I remove it from launchSettings.json and add it in appsettings.json, settingTiemout gets null. why?
thank you