Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpAntiForgeryException仅在生产中间歇性发布_C#_Asp.net Mvc_Csrf_Antiforgerytoken - Fatal编程技术网

C# HttpAntiForgeryException仅在生产中间歇性发布

C# HttpAntiForgeryException仅在生产中间歇性发布,c#,asp.net-mvc,csrf,antiforgerytoken,C#,Asp.net Mvc,Csrf,Antiforgerytoken,我在生产服务器上间歇性出现反伪造错误。 详情:- 重新加载后,问题仅出现在登录页上 问题是间歇性的 使用表单身份验证,站点部署在单个服务器上 System.Web.Mvc.httpantiforyException(0x80004005):防伪 cookie标记和表单字段标记不匹配。 生产步骤:- *登录到站点 *长时间保持打开状态或关闭浏览 *1-2小时后再次打开登录页面。。 您可能会得到防伪令牌“防伪”的错误 cookie标记和表单字段标记不匹配。“ 但这并不能保证我们会遇到错误。我们只

我在生产服务器上间歇性出现反伪造错误。 详情:-

  • 重新加载后,问题仅出现在登录页上
  • 问题是间歇性的
  • 使用表单身份验证,站点部署在单个服务器上
System.Web.Mvc.httpantiforyException(0x80004005):防伪 cookie标记和表单字段标记不匹配。 生产步骤:- *登录到站点 *长时间保持打开状态或关闭浏览 *1-2小时后再次打开登录页面。。 您可能会得到防伪令牌“防伪”的错误 cookie标记和表单字段标记不匹配。“ 但这并不能保证我们会遇到错误。我们只是间歇性地得到错误,一旦用户再次尝试登录,错误就会得到解决


我尝试了这么多选项,但无法解决问题。

此错误的原因可能是 1.您已将服务器安装在新位置或
2.当应用程序仍在为某些客户端使用时,您已重置IIS(因为重置时它会为该会话生成新令牌)

未配置机器密钥,因为站点部署在单个服务器上生产站点上发生问题,在此期间不会回收应用程序池。。时断时续。。登录到站点1-2小时后关闭浏览器并再次打开登录页面。。你可能会犯这个防伪的错误。。但这并不能保证你会得到error@ashishmishra您是否检查了事件日志以验证这一点?您可能未配置回收,但未处理的异常将导致回收。另一种可能是AV导致文件被视为已修改,从而导致循环。@Andy:Login post操作由Antiforgery属性修饰,我检查了服务器上的日志,但根据日志,即使是登录操作的第一行也没有执行,并且在日志中获得Antiforgery异常。这意味着我们的登录方式不是罪魁祸首。根据日志,调用了操作登录(post)。我将尝试检查服务器上的事件日志。还有一件事。。每段代码都封装在try-catch块中,logger封装在catch块中,因此,如果出现异常,将在何处记录。访问API的身份验证令牌期限是多少?我认为它已经过期了,它给出了这个例外。尝试在令牌中间件上添加日志。身份验证令牌为cookie。其cookie和隐藏字段在服务器上验证。它的年龄是一节课。所以它在浏览器打开之前是有效的。