托管服务的部署槽位更改时触发的事件(交换 VIP)

  • 本文关键字:事件 交换 VIP 服务 部署 azure
  • 更新时间 :
  • 英文 :


我的应用程序中有一些依赖于部署槽的设置。我理解这样的设计决策所带来的惩罚和影响,但这个决定是最终的,并且适用于我们的案例。

我想知道的是当您更改托管服务的部署槽(如果有的话)时,会触发什么事件?RoleEnvironmentTopologyChange看起来是正确的,但是在描述中,它说当实例数量发生变化时触发,所以这不是我想要的。

我需要它的原因是使持有该插槽的缓存无效-这将进一步传递给解析器,该解析器获取特定于部署插槽的数据。

在VIP交换期间没有触发事件。如果您想在交换时更改某些内容,我建议您在交换之前进行配置设置并更改。

您可以通过检查从网关传递到WCF或web服务器的每个请求的主机头来检测VIP交换。您还可以通过检查主机是否是GUID来检测当前插槽。

参见下面如何在调用之间持久化变量如何编写一个WCF服务与内存中的持久存储?

var host = WebOperationContext.Current.IncomingRequest.Headers["Host"] ?? "";
if (host != currentHost)
{
    
    // do something
    currentHost = host;
}

最新更新