hosting.json有什么意义,因为appsettings.json就足够了
在.NET Core 2 Web API应用程序中,我可以使用appsettings.json
覆盖配置urls
,但在官方文档中他们引入了额外的文件“hosting.json”,为什么? 增加复杂性有什么意义?
下面的代码完全使用appsettings.json
:
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) //see Side note below .AddJsonFile("appsettings.json", optional: true) .AddCommandLine(args) .Build(); return WebHost.CreateDefaultBuilder(args) .UseConfiguration(config) .UseStartup() .Build(); } }
appsettings.json内容:
{ "Logging": { "IncludeScopes": false, "Debug": { "LogLevel": { "Default": "Warning" } }, "Console": { "LogLevel": { "Default": "Warning" } } }, "urls": "https://*:5005/" }
旁注:注释.SetBasePath(Directory.GetCurrentDirectory())
将使VS 2017调试模式保持运行(意味着应用launchSettings.json
和自动启动URL),否则不会。 我想它与CreateDefaultBuilder实现有关。
我认为, hosting.json是一个专门用于asp.net核心应用程序托管的配置文件。 (如果您对托管有更多了解)
WebHostBuilder直接将其密钥映射到hosting.json文件,并且它没有像正常配置设置那样加载配置部分的function。
根据你post中的链接
使用“配置”配置主机。 在以下示例中,可选择在hosting.json文件中指定主机配置。 从hosting.json文件加载的任何配置都可能被命令行参数覆盖。
如果我们只显示了hosting.json,那么可以使用dotnet命令修改WebHostBuilder配置。
例如
dotnet run –urls“http:// *:8080”
这将覆盖hostings.json文件中的url。
希望这可能会有所启发。
PC: hosting.json可以重命名为myappsettings.json,它可以配置和Web Host Builder配置。
上述就是C#学习教程:hosting.json有什么意义,因为appsettings.json就足够了分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1034785.html