【问题标题】:aspx page gives viewstate erroraspx 页面给出 viewstate 错误
【发布时间】:2011-02-15 15:19:47
【问题描述】:

我有一个带有一个网格视图的简单 aspx 页面。当部署在服务器上并通过该机器访问时,它工作正常。但是,当通过负载均衡器连接时,我们会收到此错误(单击任何按钮时)。然而,当按下 F5 时页面会刷新。

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

知道这里发生了什么吗???

【问题讨论】:

    标签: asp.net viewstate


    【解决方案1】:

    您应该将 web.config 上的 machineKey 设置为对所有负载平衡服务器都相同。 机器密钥用于加密、验证、散列等所有 ASP.NET 内部内容。当在一台机器上创建 ViewState 时,它​​是使用该机器的机器密钥创建的,另一台机器无法验证它,因为它的密钥不同。尽管它被称为机器密钥,但它可以为每个应用程序设置。

    机器密钥有多个生成器(编写一个并不难)。这是第一个谷歌命中: http://aspnetresources.com/tools/machineKey

    【讨论】:

    • 如何生成验证密钥和解密密钥?
    • 如果我添加这个,WCF 服务会因为某种原因停止工作!!
    【解决方案2】:

    在页面指令中添加了 enableViewStateMAC = false

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      相关资源
      最近更新 更多