【问题标题】:Environment Variables in ASP.NET Core AppsASP.NET Core 应用程序中的环境变量
【发布时间】:2017-09-23 17:04:42
【问题描述】:

如何在 Asp.Net Core 中使用环境变量? 我已经在我的系统中添加了一个环境变量并重新启动了我的电脑,但是当我运行一个应用程序并获取环境变量时,我看不到我的变量。

Environment.GetEnvironmentVariables();

此外,当我在代码中添加环境时,它工作正常:

Environment.SetEnvironmentVariable("my-credentials-key", my-value);

您知道如何添加环境变量并在 ASP.NET 核心应用程序中使用它吗?

【问题讨论】:

标签: c# asp.net-core environment-variables .net-core


【解决方案1】:

这就是我在应用程序中使用环境变量的方式-

在 Visual Studio 中,使用 launchSettings.json-

  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "MY_TEST":"123"
      }
    },
    "SamplePractice": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "MY_TEST":"123"
      }
    }
  }

由于launchSettings.json 仅限于Visual Studio,所以在发布版本的情况下我们使用web.config-

<aspNetCore processPath="dotnet" arguments=".\MyAspNetCoreApplication.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" >
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
    <environmentVariable name="MY_TEST" value="123" />
  </environmentVariables>
</aspNetCore>

并且此环境值将使用 -

跨应用程序读取
Environment.GetEnvironmentVariable("MY_TEST");

【讨论】:

    【解决方案2】:

    简而言之,在 launchSettings.json 文件中,您可以为每个主机定义环境变量。例如,您可以拥有用于 IIS 的暂存环境,但可以拥有用于自托管的开发和测试环境。

    您可以在here找到更多信息。

    【讨论】:

      猜你喜欢
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多