C# ASP.NET MVC应用程序的灾难恢复

C# ASP.NET MVC应用程序的灾难恢复,c#,asp.net-mvc-5,antiforgerytoken,disaster-recovery,C#,Asp.net Mvc 5,Antiforgerytoken,Disaster Recovery,我试图使用Azure的traffic manager和应用程序服务测试我的应用程序的灾难恢复,但当我的应用程序在整个地区切换时,从MVC antiforgeryToken validator获得一个错误 无法解密防伪令牌。如果此应用程序由Web场或群集承载,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定了显式加密和验证密钥。无法在群集中使用自动生成 如何克服此问题以实现灾难恢复,使其在您的web.config中的任何故障点都能工作,请尝试将validationKey属性更改为不

我试图使用Azure的traffic manager和应用程序服务测试我的应用程序的灾难恢复,但当我的应用程序在整个地区切换时,从MVC antiforgeryToken validator获得一个错误

无法解密防伪令牌。如果此应用程序由Web场或群集承载,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定了显式加密和验证密钥。无法在群集中使用自动生成


如何克服此问题以实现灾难恢复,使其在您的
web.config
中的任何故障点都能工作,请尝试将
validationKey
属性更改为不自动生成,并指定一个密钥

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" />

您可以使用此联机工具生成密钥:


正如@bradbury9所提到的,对于生产,您最好在IIS manager上生成自己的密钥。

错误消息清楚地说明了如何解决此问题。我永远不会使用机器密钥的在线生成器,无法知道这些工具是否泄漏了这些密钥。通过IIS管理器自己做会更好。