我在azure上有一个MVC网络应用程序,每天有几百次,我得到一个所需的防伪cookie“__RequestVerificationToken”不存在.在我未处理的例外日志中.
我已经正确设置了一切,我的动作方法有[ValidateAntiForgeryToken].
我可以从查看表单中存在令牌的异常详细信息中看到,但cookie不存在.
有谁知道这会导致什么?
这是完整的错误.
System.Web.Mvc.HttpAntiForgeryException (0x80004005): The required anti-forgery cookie "__RequestVerificationToken" is not present. at System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens(HttpContextBase httpContext,IIdentity identity,AntiForgeryToken sessionToken,AntiForgeryToken fieldToken) at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext) at System.Web.Helpers.AntiForgery.Validate()
解决方法
这可能是由许多问题引起的.可能导致问题的事情:
>没有启用cookie的机器人或客户端>在客户端上创建的Cookie太多(每个域只能处理很多cookie浏览器),AntiForgeryCookie最终被删除