ASP.NET中maxPageStateFieldLength的最佳值是多少?

时间:2010-04-06 13:33:02

标签: asp.net viewstate

在视图状态为10-15KB的页面中,

的最佳值

<pages maxPageStateFieldLength="">

web.config中的

是为了降低潜在截断的风险导致viewstate验证错误?

2 个答案:

答案 0 :(得分:1)

maxPageStateFieldLength不限制视图状态的大小,因此不会被截断。

它的作用是简单地控制将一个隐藏字段放置多少视图状态。如果视图状态大于maxPageStateFieldLength值,则视图状态将简单地拆分为多个隐藏字段。

默认值为-1,表示视图状态放在一个隐藏字段中,通常是最优的。

答案 1 :(得分:0)

我目前遇到的问题是,我们只为Firefox用户收到“由于无效的Viewstate导致的HttpException”错误。我也看到“System.Web.HttpException:与远程主机通信时发生错误。错误代码为0x80070001”异常与viewstate配对。

我相信firefox可能在(可能)隐藏的表单字段上有最大大小 - 我需要验证这一点。我现在正在寻找使用maxPageStateFieldLength来填充视图状态以希望解决(在短期内)。长期解决方案是重构aspx页面以对网格进行分页查询(而不是一次性拉下所有行 - 这不是一件好事)。

恕我直言,你应该放入一个相当大但不是无限制的最大值。我说1MB是一个开始。