ASP.NET核心应用程序中的环境变量

时间:2017-04-26 10:35:18

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

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

Environment.GetEnvironmentVariables();

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

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

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

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

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

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