一直在寻找将配置添加到我的点网核心2.0 Web API的正确方法。
到目前为止,我所做的是:
添加了appsetteings.Development.json,appsetteings.Production.json
在program.cs中:
public static IWebHost BuildWebHost(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureAppConfiguration((hostContext, config) =>
{
var env = hostContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
})
.Build();
}
在startup.cs中
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.Configure<dynamic>(Configuration);
}
问题是,每当我调试代码时,总会从中获取设置appsettings.Development.json
。
我还发现,hostContext.HostingEnvironment.EnvironmentName
无论我选择在哪个环境中进行调试,始终将开发作为发展。
存在具有项目属性的设置,该设置导致在调试期间使用开发环境设置。
打开项目属性导航到“调试”页面在“环境变量”部分,您将看到:
ASPNETCORE_ENVIRONMENT | 发展历程
如果删除此标志并进行调试,则应用程序应在没有开发设置的情况下运行。
官方文档可以在这里找到
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句