首先,我的主要目的是动态地为我的应用程序设置IP和端口.
我正在使用IConfiguration注入一个json配置文件,就像一些教程提到的那样.
但是,我无法在Program.cs中检索配置,因为我WebHostBuilder将同时使用StartUp和Url.
所以在主机建立时,我的配置中没有任何内容.
WebProtocolSettings settings_Web = new WebProtocolSettings();
var host = new WebHostBuilder()
.UseIISIntegration()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.UseUrls(settings_Web.Url + ":" + settings_Web.Port)
.Build();
Run Code Online (Sandbox Code Playgroud)
在Startup.cs中
public Startup(IHostingEnvironment env)
{
// Set up configuration sources.
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; set; }
public void ConfigureServices(IServiceCollection services)
{
// Adds services required for using options.
services.AddOptions();
var _WebProtocolSettings = Configuration.GetSection("WebProtocolSettings");
// Register the …Run Code Online (Sandbox Code Playgroud)