【问题标题】:Dotnet Core Read Port From Appsettings.jsonDotnet Core 从 Appsettings.json 读取端口
【发布时间】:2019-07-06 22:15:03
【问题描述】:

我有一些 Dotnet 核心 api 服务。服务必须从 appsettings.json 读取配置和端口。我需要为服务设置不同的端口并从通用 json 文件中读取。如何做到这一点以及如何从通用 json 文件中读取端口。任何人都可以帮助我。

谢谢你..

【问题讨论】:

  • 你可以先将你的应用设置Json文件添加到IConfigurationBuilder中。并使用依赖注入注入 IConfiguration 并访问 appsetting 文件

标签: asp.net-core .net-core asp.net-core-webapi asp.net-core-2.1


【解决方案1】:

启动.cs

public IConfiguration _configuration { get; }

public Startup(IConfiguration configuration)
{
       _configuration = configuration;`
}

在配置服务中

services.Configure<ClassName>(Configuration.GetSection("Port")); 

你想用的地方

private readonly IOptions<ClassName> _options;

public ConfigService(IOptions<ClassName> options)
{
    _options = options;
}

'ClassName' 应该是 appsettings.json 中匹配的模型。

【讨论】:

  • 感谢阿里·多根。但我需要在 program.cs 中设置端口
  • @SATHEESHP 如果您需要设置端口,则无需阅读common.json。在您的appsettings.json 中添加一个“"urls":"https://0.0.0.0:8888" 并通过var config =new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true) .Build(); 创建一个配置并通过return WebHost.CreateDefaultBuilder(args) .UseConfiguration(config) .UseStartup&lt;Startup&gt;() ; 使用该配置。
  • 谢谢它。这对于单一服务来说是可以的。但我需要使用相同配置文件的不止一项服务。感谢其他服务如何读取端口。因为在appsettings中json只有一个url
  • @SATHEESHP 只需读取common.json 中所需的端口并调用UseUrls($"https://xxx.yyy.zzz.com:{port}")。顺便说一句,这是另一个问题。由于@Ali Dogan 已经回答了您的原始问题,我建议您可以将他的回复标记为答案或更新您的问题以要求更详细的描述。
猜你喜欢
  • 2017-12-25
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多