Azure 应用服务插槽-Environment.GetEnvironmentVariable() 返回 null

Ali*_*son 2 environment-variables azure azure-web-app-service asp.net-core

我刚刚在我的 Azure 应用服务之一中创建了一个“暂存”槽。

在 Azure 门户中,在该插槽的应用程序设置中,我创建了一个新密钥,如下所示:

天青-1

...并将其设为“插槽设置”,因为我不希望交换该值。

当我在 .NET Core 项目中执行代码时,Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")返回null. 在本地,只要我在计算机环境变量中设置此值,它就可以工作。

我错过了什么吗?

Tom*_*SFT 5

Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")获取应用程序设置应该适用于 Azure WebApp。我假设该值被其他代码覆盖。

您可以通过以下方式进行调试。

1.检查暂存 kudu( https://yousitename-staging.scm.azurewebsites.net/Env.cshtml ) 以检查环境变量ASPNETCORE_ENVIRONMENT

2.我们还可以用VS远程调试槽。

以下是我的测试步骤:

1.创建.net core项目。

2.为现有的Webpp创建一个slot,并为slot创建appsetting

3.使用kudu工具检查环境变量

4.在index.chtml.cs文件中添加以下代码

var appsetting = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
ViewData["appseting"] = appsetting;
Run Code Online (Sandbox Code Playgroud)

5.在index.chtml文件中将标题更改为appsetting值

@page
@model IndexModel
@{
    ViewData["Title"] = ViewData["appseting"];
}
Run Code Online (Sandbox Code Playgroud)

6.使用调试模式将WebApp发布到Azure

7.检查主页的标题。

我们还可以远程调试来检查它。 在此输入图像描述