一旦您使用并设置了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);
答案 0 :(得分:0)
是的,您应该在下一次回复时将其恢复。您可以查看以下链接:
答案 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/