private static void setting(IWebHostBuilder webBuilder) { string[] urls = { "http://localhost:8080" };//, "https://localhost:8012" }; //讀取設定檔 var configuration = AppSettingsUtility.getInstance().builder.Build(); var str_urls = configuration["server.urls"]; if (!String.IsNullOrWhiteSpace(str_urls)) { urls = str_urls.Split(";"); } Console.WriteLine("urls " + urls[0]); var str_KeepAliveTimeout = configuration["KestrelSetting:KeepAliveTimeout"]; var str_RequestHeadersTimeout = configuration["KestrelSetting:RequestHeadersTimeout"]; //HTTP持久連線的時間。 int keepAliveTimeout; int.TryParse(str_KeepAliveTimeout, out keepAliveTimeout); keepAliveTimeout = (keepAliveTimeout <= 0) ? 2 * 60 : keepAliveTimeout; //Server 處理一個封包最長的時間。 int requestHeadersTimeout = 30; int.TryParse(str_RequestHeadersTimeout, out requestHeadersTimeout); requestHeadersTimeout = (requestHeadersTimeout <= 0) ? 30 : requestHeadersTimeout; System.Console.WriteLine($"keepAliveTimeout:{keepAliveTimeout} / requestHeadersTimeout:{requestHeadersTimeout}"); var runtime = configuration["server.Runtime"]; if (!String.IsNullOrEmpty(runtime) && runtime != "IIS") { webBuilder.ConfigureKestrel(serverOptions => { serverOptions.AddServerHeader = false; serverOptions.Limits.KeepAliveTimeout = TimeSpan.FromSeconds(keepAliveTimeout); serverOptions.Limits.RequestHeadersTimeout = TimeSpan.FromSeconds(requestHeadersTimeout); }) .UseUrls(urls) .UseStartup <Startup>(); } else { webBuilder.UseStartup <Startup>() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration(); } }