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

时间:2011-08-18 15:24:03

标签: azure

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

请参阅下文,了解如何在调用之间保留变量 How to write a WCF service with in-memory persistent storage?

var host = WebOperationContext.Current.IncomingRequest.Headers [“Host”] ?? “”;

if(host!= currentHost) {

// do something

currentHost = host;

}