C# 使用AntiForgeryToken和缓存页面

C# 使用AntiForgeryToken和缓存页面,c#,asp.net-mvc-4,azure,cookies,C#,Asp.net Mvc 4,Azure,Cookies,在部署一些似乎在测试中起作用的代码之前,在部署到Azure WebRole时,是否存在使用的问题。因为它会生成一些html和cookie,所以我担心以下问题 页面由MVC缓存缓存。防伪令牌的cookie是否会在后续请求页面时重新发布 页面正在多个实例上的Azure Webrole中运行。如果接收服务器不是生成页面的服务器,是否存在任何问题 这些表单来自数据库中保存的一块html。因此,我们建议有效地进行字符串替换,以找到一个简单的令牌,并在AntiForgery令牌中进行交换。(下面的代码)这似

在部署一些似乎在测试中起作用的代码之前,在部署到Azure WebRole时,是否存在使用的问题。因为它会生成一些html和cookie,所以我担心以下问题

页面由MVC缓存缓存。防伪令牌的cookie是否会在后续请求页面时重新发布

页面正在多个实例上的Azure Webrole中运行。如果接收服务器不是生成页面的服务器,是否存在任何问题

这些表单来自数据库中保存的一块html。因此,我们建议有效地进行字符串替换,以找到一个简单的令牌,并在AntiForgery令牌中进行交换。(下面的代码)这似乎有效,但让我担心

        var xtoken = "<!--AntiForgeryToken-->";
        if (content.Contains(xtoken))
        {
            var token = HttpUtility.HtmlDecode(html.AntiForgeryToken().ToHtmlString());
            content = content.Replace(xtoken, token);
        }

        return html.Raw(content)
var xtoken=“”;
if(content.Contains(xtoken))
{
var-token=HttpUtility.HtmlDecode(html.AntiForgeryToken().ToHtmlString());
content=content.Replace(xtoken,token);
}
返回html.Raw(内容)

上述操作会产生任何问题吗?

您不能在带有
AntiForgeryToken()
token-的页面上使用缓存

该页面正在多台服务器上的Azure Webrole中运行

如果您的意思是WebRole在多个实例上运行,这应该不是问题,因为默认情况下Azure将处理MachineKey()

但是在部署(重新部署)之后,您可能会遇到问题,因为