Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# Html.AntiForgeryToken()由于加密异常而失败_C#_Asp.net_.net_Model View Controller - Fatal编程技术网

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,然后相应地更新配置文件。这似乎在任何地方都没有记录。我们不愿意这样做,因为他们是一个有这个问题的实时服务器,但是我们这样做了,它完全解决了这个问题。

我想,它会阻止你太快回答自己的问题,所以我在等待。