【发布时间】:2010-01-19 16:38:51
【问题描述】:
我有一个由一组负载平衡服务器托管的 Web 应用程序。 我在母版页上有一个 ASP.NET 文本框和按钮,用于获取值并在数据库中搜索它。 搜索结果显示在名为 search.aspx 的页面上,该页面接受一个查询字符串,该字符串的值是在母版页上的文本框中输入的值。
母版页上的按钮只是 Respose.Redirect 到带有提到的查询字符串的 search.aspx 页面。
有时搜索是和平执行的,有时会抛出以下异常:
视图状态 MAC 验证失败。如果 此应用程序由 Web 托管 场或集群,确保 配置指定 相同的validationKey和validation 算法。无法使用自动生成 在一个集群中。
我无法让所有服务器上的机器密钥都相同,因为它们托管其他站点。 我认为这是因为一组负载平衡的服务器。 我试过 EnableViewStateMac="false", ValidateRequest="false", EnableEventValidation="false" 但没有区别。
我尝试了以下解决方案:
- 设置按钮的 PostBackUrl search.aspx 的母版页 页面并删除 Response.Redirect in 的 Click 事件处理程序 按钮。
- 读取值 Request.Form["SearchCriteriaTextBox"] 在 search.aspx 页面的加载中。
但实际上我发现当页面不继承母版页时它可以工作,而这不是我的情况。 那怎么办??????
感谢您的帮助。
【问题讨论】: