【问题标题】:Validation of viewstate MAC Failed. Machine is NOT on a web farm or cluster视图状态 MAC 验证失败。机器不在网络场或集群上
【发布时间】:2019-12-11 00:19:01
【问题描述】:

“如果此应用程序由 Web Farm 或集群托管,请确保指定的配置相同......”

从一台旧机器移到另一台后,我开始出现上述错误。该应用程序在移动之前运行良好,据我所知,新机器不在网络农场或集群的一部分,但我不确定如何准确判断。许多帖子建议我将 machineKey 配置添加到我已经完成的 web.config 中,但这似乎并没有解决问题。

有什么方法可以判断我的新服务器是属于集群还是 webfarm 的一部分?

非常感谢

【问题讨论】:

    标签: .net iis viewstate


    【解决方案1】:

    据我所知,很多原因都会导致“Validation of viewstate MAC Failed”错误。不仅您的应用程序在服务器场中运行。我建议您可以先找出您的应用程序匹配的原因,然后选择正确的解决方案。

    导致错误的原因。

    1.web应用运行在farm(多服务器环境)解决方案:

    2.工作进程使用IIS 7.0应用程序池标识

    3.使用LoadUserProfile=false配置应用程序池

    4.Page.ViewStateUserKey 属性值不正确

    一个常见的解决方案是使用显式

    您可以直接在powershell中使用以下命令生成一个新的机器密钥元素并将其添加到web.config中。

    Generate-MachineKey
    

    Web.config 示例:

    <configuration>
      <system.web>
        <machineKey ... />
      </system.web>
    </configuration>
    

    更多详情,可以参考这个article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 2011-12-18
      相关资源
      最近更新 更多