2017-04-26 57 views
0

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

Environment.GetEnvironmentVariables(); 

而且,当我在代码中添加的环境中,它工作正常:

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

你有什么想法如何添加环境变量和ASP.NET核心应用使用它?

+0

阅读此https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments –

回答

0

这是我如何使用环境变量在我的应用 -

在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"); 
0

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

你可以在here找到更多的信息。

相关问题