asp.net - 如何在 .NET 6 中读取环境变量?

标签 asp.net .net .net-6.0

在我的 .NET Core 3.1 WebApi 项目中,我首先读取环境变量并根据它加载 appsettings.json:

public static IHostBuilder CreateHostBuilder(string[] args)
{
  string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
  ...
}

但我不知道如何在 .NET 6 中阅读它:

var builder = WebApplication.CreateBuilder(args);

build.Environment 无法读取。
有谁知道吗?

谢谢

最佳答案

我想延长 the accepted answer有点,因为它只引用一个链接。

也可以将环境变量读入强类型配置类。

即,看看这个类:

public class MyConfig
{
  public string ValueA { get; set; }
  public int ValueB { get; set; }
}

我们还假设环境变量设置为 MySection__ValueAMySection__ValueB

如果您将配置类注册为:

services.Configure<MyConfig>("MySection");

然后您将能够访问代码中的配置值:

public class SomeService
{
  public SomeService(IOptions<MyConfig> config)
  {
    // Here config.Value.ValueA is equal to MySection__ValueA
    // and config.Value.ValueB is equal to MySection__ValueB (automatically converted to int)
  }

关于asp.net - 如何在 .NET 6 中读取环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70024170/

相关文章:

c# - 从列表中删除多个值

javascript - 禁用 onfocus ="this.blur();"

c# - 无法在 IHostingStartup 中进行额外配置?

mysql - Sensenet:是否支持Mysql

c# - Page.IsValid 总是返回 false

c# - c#.net 3.5 中的多线程异步 Web 服务调用

c# - 在非 UI 线程上运行模态对话框

c# - 使用c#从代理服务器下载文件

asp.net-core-webapi - 如何将 ASP.NET Core Web API 配置为仅接受 `application/json` ?

c# - 在 ARM 上使用 Span<T> 给出 "System.DataMisalignedException:"