0

我一直在尝试使用“WEBSITE_SWAP_WARMUP_PING_PATH”应用服务配置进行插槽预热设置,如Ruslan 的博客中所建议的那样。不幸的是,我没有看到它按我预期的方式工作。我的预期是,如果“WEBSITE_SWAP_WARMUP_PING_STATUSES”中列出的状态代码与“WEBSITE_SWAP_WARMUP_PING_PATH”响应代码不匹配,则插槽交换操作将失败。我什至在我的热身路径中硬编码了一个 500 状态代码,但插槽交换继续成功完成。

不匹配的状态码不应该阻止插槽交换吗?

这是我的控制器操作:

  public class HomeController : Controller
  {
        ...
        public IActionResult Warmup()
        {
             return new StatusCodeResult(500);
        }

这是我的应用服务配置设置

  {
    "name": "WEBSITE_SWAP_WARMUP_PING_PATH",
    "value": "/home/warmup",
    "slotSetting": true
  },
  {
    "name": "WEBSITE_SWAP_WARMUP_PING_STATUSES",
    "value": "200",
    "slotSetting": true
  },

编辑: 我什至更进一步,完全删除了这个动作。应用程序现在应该返回 400。但是,当我打开请求跟踪时,我可以看到我实际上得到了 307。

在此处输入图像描述

4

1 回答 1

0

文档说明它可以放在 web.config 以及 azure app 配置中。我们最初在网络配置中使用它,但它不起作用。当我们将其更改为 azure 应用程序设置配置时,它可以工作并且没有交换错误 500。

链接到我的意思的设置:https ://docs.microsoft.com/en-us/azure/app-service/configure-common

于 2020-08-21T06:09:52.823 回答