2010-08-29 38 views
0

我知道这个问题已被问及百万次,但我认为我的情况在这里不同。验证Viewstate MAC失败。使用.Net Framework 3.5。不使用表格行动

我使用的.NET Framework 3.5 SP1,还有就是页面上没有形式的行动,当我尝试快速提交表单它没有发生。我也不在网上农场。

我有两个GridView的页面。一个GridView作为一个主Gridview,另一个作为GridView的细节。第一个GridView有自动生成选择按钮,点击select会在底部详细显示gridview的相关记录。我在顶部有一个刷新链接按钮。一切正常。我点击刷新按钮,它也可以正常工作。

好的时候问题开始发生,当我离开的页面闲置像10分钟左右,然后我点击刷新按钮才把我得到这个“视图状态MAC验证失败”的错误。

我抓我的头在过去几天,但没有帮助。

感谢

+0

是否有您可以将问题隔离在一个简单的页面,我们可以尝试任何机会(与硬编码值)? – 2010-08-29 11:01:45

+0

有一件事它不会发生在我的本地机器上,只发生在Windows Server 2008 R2 64位运行.Net Framework 3.5 SP1的生产环境中? – Leo 2010-08-29 11:29:26

回答

0

视图状态会过期,如果您的应用程序,并回收已自动生成机键开启。也许这就解释了你的问题。

+0

听起来不错。那么你如何处理这种情况。你如何指定一个机器密钥?所以它在回传时保持不变。 – Leo 2010-08-29 11:27:57

+0

@Leo,这不会发生回发,但是当AppDomain被Web服务器回收时。在配置文件(http://msdn.microsoft.com/en-us/library/ff649308.aspx)中签出'machineKey'元素并尝试手动指定密钥,而不是保留默认的'Auto'设置。 – 2010-08-29 11:39:02

+0

嗨达林,我有点卡在这里。我不想更改机器配置文件。你在哪里指定web.config文件中的机器密钥设置,以及如何生成验证密钥和解密密钥? – Leo 2010-08-29 12:25:16

相关问题