"防伪令牌无法解密"

时间:2016-07-15 18:38:45

标签: asp.net-mvc iis encryption antiforgerytoken machinekey

我在负载均衡(双节点)Web场上运行IIS 8.5。我们得到了零星的错误:

[HttpGet]
public ActionResult Index()
{
    var model = new LoginModel();
    return View(model);
}

我已尝试/检查了各种解决方案:

  • 在服务器级别,我按照here所述创建了显式验证和解密密钥,并在两个节点之间进行了同步。需要注意的一点是,现在,我离开了#34;为每个应用程序生成一个唯一的密钥"未选中状态。
  • 每个页面只生成一次令牌,以避免所述问题here

但错误仍然存​​在。

我可以在接下来进行问题排查时做些什么?

编辑:

控制器代码:

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <h1>Log In</h1>
    <fieldset>
        <label>Email</label>
        @Html.TextBoxFor(model => model.Username)                        
        <label>Password</label>
        @Html.PasswordFor(model => model.Password)
        <input type="submit" />
    </fieldset>
}

相关观点代码:

Sub Sheet_Formatting()

   For Col_Count = 1 To Col_Count_Active_Sheet

        With ThisWorkbook.Worksheets(Active_Sheet).Cells(1, col_Count)
            .Interior.Color = RGB(100, 100, 100)   ' sets to the color ???
            .Borders.LineStyle = xlContinuous      ' sets to the linestyle
            .Borders.Weight = xlThick              ' sets to the border thickness
            .Font.Bold = True                      ' sets to the text format to bold
        End With

   Next Col_Count

End Sub

1 个答案:

答案 0 :(得分:0)

我有同样的问题很多人提出了更换机器钥匙的建议,否则如果你在表格中加入了多次防伪,可能会发生这种情况。我的问题并没有因为任何原因而发生,它只是因为一个简单的愚蠢原因和它的不正确的div放置。我的意思是如果你关闭在外面打开的MVC表单中的div,那么你可能会遇到这个问题。