我有一个表单:
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
@Html.AntiForgeryToken()
@Html.ValidationSummary()...
并采取行动:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl, string City)
{
}
偶尔(一周一次),我会遇到以下错误:
防伪标记无法解密。如果此应用程序托管在Web Farm或集群中,请确保所有计算机都运行相同版本的ASP.NET Web Pages,并且配置指定了显式加密和验证密钥。AutoGenerate不能在集群中使用。
我尝试将以下内容添加到webconfig文件中:
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps" />
但是错误有时仍会偶尔出现。
我注意到这个错误的出现,例如当一个人从一台电脑来到另一台电脑然后尝试执行操作。
或者有时候由于任何jQuery代码将自动值设置为错误的数据类型,例如将布尔值设置为整数输入字段,请也检查它。