ViewState已发布但有时在服务器上丢失

时间:2011-12-08 12:37:18

标签: asp.net webforms viewstate

有时ViewState会发布到服务器,但服务器不会解析/使用它,因此页面会显示没有ViewState数据的页面。

示例:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        //fill data
        txtName.Text = "Some text";
    }
}

有时GET请求成功,但回发(按钮,链接标签等)没有成功序列化/反序列化ViewState。所以文本字段是空的。

数据位于隐藏的ViewState输入中(右键单击并在浏览器中选择刷新,然后单击是以发布​​相同的数据),然后成功。

它是随机的,工作半小时,然后连续5次尝试失败。在EventLog或IIS日志中找不到任何内容。

这是一个Web场环境,但Web服务器正确配置了machineKey,session等。这是最新发布的“旧代码”,它刚刚停止工作。

有关正在发生的事情以及如何解决问题的任何想法?

1 个答案:

答案 0 :(得分:0)

删除ViewState加密解决了这个问题。

<configuration>
  <system.web>
    <pages viewStateEncryptionMode="Never">