Viewstate验证失败

时间:2014-01-22 19:51:28

标签: asp.net iis web-config viewstate machine.config

我知道为什么我会收到此错误并知道如何修复它,但需要通过搜索网站找出一些我无法找到的问题。

我们的应用程序位于Web Farm中,并且正在考虑将validationKey从AutoGenerate,IsolateApps更改为特定的手动生成的键值。

但是,作为示例(我检查了我的本地计算机,而不是实际的服务器machine.config文件,因为我无权访问它)。我在本地machine.config中看到的所有内容都如下所示:

<section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
allowDefinition="MachineToApplication"/>

为了更新它,我希望看到如下所示:

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />

为什么我在本地机器上没有看到它。或者,如果服务器(如上所述)不同,如果我将设置更改为手动密钥,它是否会影响在Web场上运行的其他应用程序?如果是,是否有特定时间进行更改?

如果我选择退出该选项,并选择更新web.config文件而不是该应用程序,我只需要更新应用程序所在的特定web.config文件即可。正确吗

1 个答案:

答案 0 :(得分:1)

是的,只需更新特定应用程序的Web.config,并确保在应用程序文件夹下将Web.config部署到服务器场中的所有计算机。这不会影响在这些计算机上运行的任何其他应用程序。

如果您需要协助生成&lt; machineKey&gt;要素,请参阅http://support.microsoft.com/kb/2915218(原因1和附录A)。