我必須通過 appsettings 或任何方式在 CreateHostBuilder 中設定一個可配置的值;我只是嘗試使用 appsettings
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
{
var url = _configuration.GetSection("url");
config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).AddOcelot(// Set url here)
.AddEnvironmentVariables();
});
});
但是 url 值總是回傳為 null。有沒有人有更好的解決方案來在 ConfigureAppConfiguration 中獲取 appsettings 或使用任何其他想法來設定配置值的更好主意?
uj5u.com熱心網友回復:
嘗試這個
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureServices((hostContext, services) =>
{
IConfiguration configuration = hostContext.Configuration;
var url = configuration.GetSection("url");
});
uj5u.com熱心網友回復:
您可以像下面這樣更改:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
{
var settings = config.Build();
var url = settings.GetSection("url").Value;
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/317574.html
