C# 什么';因为appsettings.json就足够了,所以hosting.json的意义是什么
在.NETCore2WebAPI应用程序中,我可以使用C# 什么';因为appsettings.json就足够了,所以hosting.json的意义是什么,c#,configuration,.net-core,asp.net-core-webapi,asp.net-core-2.0,C#,Configuration,.net Core,Asp.net Core Webapi,Asp.net Core 2.0,在.NETCore2WebAPI应用程序中,我可以使用appsettings.json覆盖配置URL,但在他们引入的额外文件“hosting.json”中,为什么?增加复杂性有什么意义 下面的代码使用appsettings.json完全正常工作: 公共类程序 { 公共静态void Main(字符串[]args) { BuildWebHost(args.Run(); } 公共静态IWebHost BuildWebHost(字符串[]args) { var config=new Configurat
appsettings.json
覆盖配置URL
,但在他们引入的额外文件“hosting.json”中,为什么?增加复杂性有什么意义
下面的代码使用appsettings.json完全正常工作:
公共类程序
{
公共静态void Main(字符串[]args)
{
BuildWebHost(args.Run();
}
公共静态IWebHost BuildWebHost(字符串[]args)
{
var config=new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())//参见下面的旁注
.AddJsonFile(“appsettings.json”,可选:true)
.AddCommandLine(args)
.Build();
返回WebHost.CreateDefaultBuilder(args)
.UseConfiguration(配置)
.UseStartup()
.Build();
}
}
appsettings.json内容:
旁注:
注释
.SetBasePath(Directory.GetCurrentDirectory())
将使VS 2017调试模式保持运行(意味着应用launchSettings.json
和自动启动url),否则它将不会运行。我想它与实现有关。我认为,hosting.json是一个专门用于asp.net核心应用程序托管的配置文件。(如果您对托管有更多了解)
WebHostBuilder直接将其键映射到hosting.json文件,并且它没有像在正常配置设置中那样加载配置部分的功能
根据你文章中的链接
使用配置来配置主机。在下面的示例中,
主机配置可以选择在hosting.json文件中指定。任何
从hosting.json文件加载的配置可能会被
命令行参数
如果只显式使用ushosting.json,那么可以使用dotnet命令修改WebHostBuilder配置
比如说
dotnet运行--URL“http://*:8080”
这将覆盖hostings.json文件中的URL
希望这能提供一些想法
PC:hosting.json可以像myappsettings.json一样重命名它可以
具有配置和Web主机生成器配置
要从命令行覆盖hosting.json或任何[name].json URL,由.AddCommandLine(args)完成,在这方面hosting.json没有什么特别之处。我认为要覆盖hosting.json。文件上就是这么说的。另外,让hosting.json具有特定的主机配置也很有意义,就像其他行话一样,比如db config或logging或其他配置详细信息。当用户计划部署应用程序时,在不同的配置文件之间跳转以调整或验证配置参数是不好的。@JawadAlShaikh是的,我同意。
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
},
"urls": "http://*:5005/"
}