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

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

在我们的 Web 场设置 (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'/>

前者能做同样的事情吗?或者这能解决我们的 View State 问题吗?

服务器正在运行.NET 3.5 和 IIS 7.0(或者可能是 IIS 6.0)。

答案1

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

如果不这样做,那么如果在服务器 A 上生成请求并将其发布回服务器 B,则最终可能会出现无效视图状态错误。

相关内容