asp.net 核心 2 网络 api 从 appsettings 设置托管 url
asp.net core 2 web api set hosting url from appsettings
在 asp.net 核心 2 网络 api 上,我希望能够设置 url 我的 api 将在其上收听(api 运行 作为 windows 服务)基于 appsettings.json 文件中的值。我找不到实现它的方法,我怎样才能访问 IConfiguration
的实例?
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls({value_from_appsettings})
.Build()
.RunAsService();
为了在进入之前访问配置WebHost.CreateDefaultBuilder
,您需要构建自己的IConfiguration
实例,使用ConfigurationBuilder
.
以您的问题为例,您可以使用如下内容:
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
var appSettingsConfiguration = new ConfigurationBuilder()
.SetBasePath(pathToContentRoot)
.AddJsonFile("appsettings.json")
.Build();
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls(appSettingsConfiguration["Your:Value"])
.Build()
.RunAsService();
这在 docs 中有所解释,示例使用 hosting.json
文件来设置它。它还使用 UseConfiguration
,它允许您指定一个值,例如urls
,自动拾取
在 asp.net 核心 2 网络 api 上,我希望能够设置 url 我的 api 将在其上收听(api 运行 作为 windows 服务)基于 appsettings.json 文件中的值。我找不到实现它的方法,我怎样才能访问 IConfiguration
的实例?
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls({value_from_appsettings})
.Build()
.RunAsService();
为了在进入之前访问配置WebHost.CreateDefaultBuilder
,您需要构建自己的IConfiguration
实例,使用ConfigurationBuilder
.
以您的问题为例,您可以使用如下内容:
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
var appSettingsConfiguration = new ConfigurationBuilder()
.SetBasePath(pathToContentRoot)
.AddJsonFile("appsettings.json")
.Build();
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.UseStartup<Startup>()
.UseUrls(appSettingsConfiguration["Your:Value"])
.Build()
.RunAsService();
这在 docs 中有所解释,示例使用 hosting.json
文件来设置它。它还使用 UseConfiguration
,它允许您指定一个值,例如urls
,自动拾取