C# Html.AntiForgeryToken()由于加密异常而失败
我之所以发布这篇文章,是因为这让我们忙了一天,而我们在互联网上找不到关于这个解决方案的任何信息,所以这是为了在将来节省人们的时间。这就是问题所在: 如果您的视图中有一个C# Html.AntiForgeryToken()由于加密异常而失败,c#,asp.net,.net,model-view-controller,C#,Asp.net,.net,Model View Controller,我之所以发布这篇文章,是因为这让我们忙了一天,而我们在互联网上找不到关于这个解决方案的任何信息,所以这是为了在将来节省人们的时间。这就是问题所在: 如果您的视图中有一个@Html.AntiForgeryToken(),即使您调用的方法没有属性[ValidateAntiForgeryToken]修饰它,您在生成令牌时也会收到一个加密异常 互联网上的所有帮助都说,通过将MachineKey添加到我们正确设置的Web.Config或Machine.Config,可以解决这个问题。他们还讨论了确保您设置
@Html.AntiForgeryToken()
,即使您调用的方法没有属性[ValidateAntiForgeryToken]
修饰它,您在生成令牌时也会收到一个加密异常
互联网上的所有帮助都说,通过将MachineKey
添加到我们正确设置的Web.Config
或Machine.Config
,可以解决这个问题。他们还讨论了确保您设置了兼容性等,这在配置文件中也是正确的
我们在一周前将.Net framework升级到了4.5.2,结果发现是它导致了这个问题。我们发现,为了解决这个问题,我们需要在IIS中重新生成
MachineKey
,然后相应地更新配置文件。这似乎在任何地方都没有记录。我们不愿意这样做,因为他们是一个有这个问题的实时服务器,但是我们这样做了,它完全解决了这个问题
希望这对将来的人有所帮助。我们在一周前将.Net framework升级到了4.5.2,结果发现这是导致此问题的原因。我们发现,为了解决这个问题,我们需要在IIS中重新生成MachineKey,然后相应地更新配置文件。这似乎在任何地方都没有记录。我们不愿意这样做,因为他们是一个有这个问题的实时服务器,但是我们这样做了,它完全解决了这个问题。我想,它会阻止你太快回答自己的问题,所以我在等待。