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

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

问题是我无法在 Azure Portal 中找到定义这个环境变量的方法。我在哪里可以做到这一点?

我不想把这些东西放在文件里,这些数据都是凭证。

107091 次浏览

我假设您正在使用 Azure 应用程序服务(以前称为 Azure 网站)。

要定义你自己的环境变量,点击你的网站→ 所有设定应用程序设置:

Enter image description here

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

Enter image description here

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

访问 https://{ your site name } scm.azurewebsites.net/debugconsole :

Enter image description here

实际上,这解决了我的问题(我昨天发现了这个问题—— Scott Hanselman 的博客上也有) :

在 ASP.NET 和 Azure 中配置私有配置数据和连接字符串的最佳实践

极低密度辐射;

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

当我自己也面临同样的问题时,我偶然发现了这个问题。只是为了给出一个更清晰的答案,我在 Blog.elmah.io找到的。

你要做的就是:

  1. 将新的 appsett.{ env } . json 包含在文件 project.json的 PublishOptions 中。
  2. 转到 Azure Portal 并打开 Web 应用程序。
  3. 选择应用程序设置。
  4. 为 ASPNETCORE _ ENVIRONMENT 添加一个条目,并将其设置为您想要的任何值。

就是这样。

(2019版本)在 Azure 云门户中导航到 AppService,然后进行配置。

在新版本2021中,转到 resource-> Configuration。

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

然后添加“ ASPNETCORE _ ENVIRONMENT”作为键,单击 OK 然后保存。 enter image description here

请注意,您必须拥有.Net Core 的 appsets.(環境) . json 文件。

我知道门户中指定了 OP,但是命令行更具有可重复性:

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

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

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