我一直在尝试使用"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。

发布于 2020-08-21 06:09:52
文档指出,它可以放在web.config中,也可以放在azure应用程序配置中。我们最初在web配置中使用了它,但它没有工作。当我们将其更改为azure应用程序设置配置时,它起了作用,并且没有在错误500的情况下交换。
链接到我指的设置:https://learn.microsoft.com/en-us/azure/app-service/configure-common
https://stackoverflow.com/questions/62664059
复制相似问题