这是避免ASP.NET Web场中的无效视图状态的有效方法吗?

我们在用户在我们的Web场设置中获取无效的视图状态exception(ASP.NE.

在machine.config中我们有这个设置:

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

我读过它应该看起来像这样:

 <machineKey validationKey='A130E240DF1C49E2764EF8A86CEDCBB11274E5298A130CA08B90EED016C0 14CEAE1D86344C29E67E99DF83347E43820050A2B9C9FC89E0574BF3394B6D0401A9' decryptionKey='2CC37FFA8D14925B9CBCC0E3B1506F35066FEF33FEB4ADC8' validation='SHA1'/> 

前者是否也做同样的事情? 或者,这可以成为我们视图状态问题的答案吗?

这些服务器运行的是.NET 3.5和IIS 7.0(或者也许是IIS 6.0)。

是的,这可能是你的问题。 如果您有一个服务器场(即多个Web服务器),则需要确保所有服务器上的机器密钥设置相同。

如果不这样做,那么如果在服务器A上生成一个请求,然后回送到服务器B,则可能会导致无效的视图状态错误。