如何以及在何处定义Azure上的环境变量

时间:2016-01-05 09:58:05

标签: asp.net-mvc azure model-view-controller environment-variables

我有一个部署到Azure的ASP.NET MVC Web应用程序。我正在使用GetEnvironmentVariable(...)方法阅读我的设置。

问题是我找不到在Azure门户中定义此环境变量的方法。我在哪里可以做到?

我不希望在文件中包含这些内容。将存在的数据是凭证。

7 个答案:

答案 0 :(得分:88)

我假设您使用的是Azure App Service(以前称为Azure网站)。

要定义您自己的环境变量,请单击您的站点→所有设置应用程序设置

Enter image description here

在“应用设置”部分添加应用设置:

Enter image description here

您可以从调试控制台验证值。

转到https:// {您的站点名称} .scm.azurewebsites.net / DebugConsole:

Enter image description here

答案 1 :(得分:15)

我自己遇到同样的问题时遇到过这个问题。好吧,只是为了给出一个我在blog.elmah.io找到的更清晰的答案。

您需要做的就是:

  1. 在文件project.json的publishOptions中添加新的appsetting。{env} .json。
  2. 转到Azure门户并打开Web应用程序。
  3. 选择应用程序设置。
  4. 为ASPNETCORE_ENVIRONMENT添加一个条目并将其设置为您想要的任何内容。
  5. 那就是它。

答案 2 :(得分:13)

在新版本2019中,转到资源->配置。

然后单击“新应用程序设置”。

然后添加“ ASPNETCORE_ENVIRONMENT”作为键,然后单击“确定”,然后单击“保存”。 enter image description here

请注意,您必须具有.Net Core的appsettings。(environment).json文件。

答案 3 :(得分:1)

实际上这解决了我的问题(我昨天发现了 - 而且它也在Scott Hanselman的博客上):

Best practices for private config data and connection strings in configuration in ASP.NET and Azure

TLDR;

将设置放在一个单独的文件中,该文件不会进入存储库,也不会部署到服务器。接下来在应用设置中定义缺失变量,如Xiaomin Wu所示。

答案 4 :(得分:1)

(2019年版)在Azure云门户中导航到您的AppService,然后导航到“配置”。

答案 5 :(得分:0)

我知道门户中指定的OP,但是命令行更具可重复性。要使用Azure CLI做到这一点:

az webapp config appsettings set -n $webappname -g $resourceGroupName --settings ConnectionStrings__Default=$connectionString

要将环境变量ConnectionStrings__Default设置为变量$connectionString

答案 6 :(得分:0)

在现代,从 Visual Studio 2019 发布时,发布页面上有一个名为“管理 Azure 应用服务设置”的链接。在那里,您可以创建和定义发布时设置的环境变量。如果你知道去哪里找就很容易了!