gpt4 book ai didi

c# - 如何从 program.cs 中的 appsettings 读取 UrlPrefixes - asp.net core 3.1

转载 作者:行者123 更新时间:2023-12-01 21:41:32 33 4
gpt4 key购买 nike

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseHttpSys(options =>
{
options.UrlPrefixes.Add("how to get url from appsettings");
});
webBuilder.UseStartup<Startup>();
})
//host as window service
.UseWindowsService();
}

应用设置配置,

"HttpSysOptions": {
"UrlPrefix": "http://localhost:8099/"
}

看起来我可以使用 hostingContext.Configuration,但它在 UseHttpSys 中不可用,怎么办?谢谢!

最佳答案

IWebHostBuilder.UseHttpSys(Action)由两部分组成:注册所需的服务,以及配置 HttpSysOptions .您可以通过仅注册所需的服务并自行配置选项来拆分它。当您这样做时,您可以访问托管上下文:

Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseHttpSys();
webBuilder.ConfigureServices((context, services) =>
{
services.Configure<HttpSysOptions>(options =>
{
options.UrlPrefixes.Add(context.Configuration["HttpSysOptions:UrlPrefix"]);
});
});

webBuilder.UseStartup<Startup>();
})
.UseWindowsService();

关于c# - 如何从 program.cs 中的 appsettings 读取 UrlPrefixes - asp.net core 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61304037/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com