从应用程序设置使用Kestre Limits.KeepAliveTimeout

时间:2019-02-20 16:27:31

标签: .net-core appsettings kestrel

是否可以读取配置文件以在WebHost.CreateDefaultBuilder...之前获得空闲时间?

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
   WebHost.CreateDefaultBuilder(args)
          .UseStartup<Startup>()
          .UseKestrel(k => k.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(config.IdleTime));

当我尝试读取它时,总是会抛出错误,指出config为null。

UseKestrel keepAliveTimeout的默认值为2,并且唤醒总是花费太多时间。

有什么主意如何从配置中读取空闲值?

1 个答案:

答案 0 :(得分:0)

我正在使用以下方法

 public static void Main(string[] args)
    {
        IConfigurationRoot config = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true)
            .AddCommandLine(args)
            .Build();

        // This config is passed to CreateWebHostBuilder
        CreateWebHostBuilder(args, config).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args, IConfigurationRoot config) =>
    //You can access config values now inside this method