Azures Arr Affinity响应cookie

时间:2015-06-16 16:33:57

标签: azure azure-affinity-group

一旦您使用并设置了Azure ARRAffinity响应cookie并将其发送回Azure,您是否应该在下一次响应时将其恢复?

我刚刚完成了一些代码,它将Azure响应cookie一直带到浏览器,将其设置为会话cookie,然后我将其作为cookie传递回Azure。令我惊讶的是,我没有得到这个cookie,我只是第一次看到它。但是我觉得这可能是预期的行为 - 我可以在文档中找到任何内容。当我尝试将cookie更改为某个组合值时,将返回正确的cookie并显示下一个响应。

public class RestRequestWithAffinity : RestRequest
{
    public RestRequestWithAffinity(string resource, IRequestWithAffinity request)
        : base(resource)
    {
        if (!string.IsNullOrEmpty(request.AffinityValue))
        {
            AddCookie("ARRAffinity", request.AffinityValue);
        }
    }
}

 var request = new RestRequestWithAffinity(url, feedRequest)
        {
            Method = Method.GET
        };

// cookie doesn't come back when already in request
IRestResponse response = await _client.ExecuteTaskAsync(request);

2 个答案:

答案 0 :(得分:0)

是的,您应该在下一次回复时将其恢复。您可以查看以下链接:

http://azure.microsoft.com/blog/2013/11/18/disabling-arrs-instance-affinity-in-windows-azure-web-sites/

答案 1 :(得分:0)

如果创建cookie,那么选择一个不同的名字,一切都会好的! {AR}模块是ARRAffinity的保留名称。这就是为什么你可能会看到这种不当行为。

另外请注意,如果您使用Microsoft提供的公共域(即yourdomain.cloudapp.net或yourdomain.azurewebsites.net),则无法将Cookie设置为顶级域名 - 即您无法为cloudapp.net域或azurewebsites.net域设置Cookie。您应始终使用完整域名,包括任何子域名来设置Cookie - 即yourdomain.azurewebsites.net

请阅读此处了解有关该问题的更多信息:https://publicsuffix.org/learn/