2017-04-26 58 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找到更多的信息。

相關問題