/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

网站打开出现 Server Error in '/' Application Validation of viewstate MAC failed

2013-11-03 十有三 0 浏览:1万+ .NET技术 ASP.NET

虚拟服务器上ASP.NET 网站在打开时候出现如下错误:

Server Error in '/' Application

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.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: 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.


最简单的方法就是关闭视图状态运行消息验证检查,在页面@Page标签里设置enableViewStateMac="false"。

程序在本地运行网站是没问题的,因此排除掉程序代码的原因。后根据网上所查询的资料原来是在虚拟服务器上视图状态的验证问题(http://support.microsoft.com/kb/829743/zh-cn).

问题的主要信息如下:

  1. 当 ASP.NET 动态编译的文件时,文件生成到实质上是随机名称的程序集 (例如,文件名可能是 jp395dun.dll)。如果您正在运行 Web 场,相同的文件将被编译到程序集具有不同的随机名称中。通常情况下,这不是问题因为没有人对这些程序集名称进行假设。但如果您曾经将动态编译的类型视图状态使用二进制序列化,将视图状态数据中包括程序集的名称时,查看状态以后发送到不同的服务器,在 Web 场中,视图状态不能反序列化,因为它使用不同的程序集名称。
  2. 视图状态机器身份验证代码 (MAC) 功能的目的是使客户端能够发送包含恶意视图状态的请求。默认情况下,在以下标志 Machine.config 文件中启用此功能:enableViewStateMac="true"。
    确定您要处理的问题与 MAC 功能的最简单方法是关闭该功能。若要执行此操作,请于下面的代码更改 Machine.config 文件中的标记:enableViewStateMac="false"。
    如果您不再能够获取视图状态错误,则问题与 MAC 功能。
    重要仅关闭视图状态 MAC 功能,以帮助诊断问题。您不应保存视图状态 MAC 功能关闭,要变通解决此问题。如果是这样,会导致安全漏洞。有关详细信息,请访问下面的 MSDN 网站:
    http://msdn2.microsoft.com/en-us/library/aa302388.aspx
 

作者:十有三

出处:https://shiyousan.com/post/a5d97081-087e-4626-9dad-35d6adfc5e7e

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部
  • 下一篇: 电脑开机载入系统或进入游戏,显示器出现非最佳模式1440*900 60Hz导致显示器无法显示

相关文章
  • ASP.NET MVC 统一化自定义异常处理方案的选择
  • ASP.NET中 解决网站安全检测问题:“发现目录启用了自动目录列表功能”
  • 解决IIS ASP.NET 网站发布后出现错误 Unable to connect to any of the specified MySQL hosts
  • HttpException (0x80004005): 无法连接到 SQL Server 会话数据库。
  • 解决ASP.NET MVC异常:提供的防伪标记适用于用户“*”,但当前用户为“”
  • asp.net mvc 使用XmlWriter输出XML未调用Close方法造成错误

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • 解决操作系统任务栏中谷歌浏览器chrome图标变成QQ图标
  • (译)在 ASP.NET中使用 XML-RPC 进行ping
  • .NET 解决XML反序列化出现 XML文档(0, 0)中有错误 缺少根元素。
  • 解决出现"WARNING:Looks like theres a ' xlive.dll’ in the game path,please delete it to get GFWL work"警告框问题
  • 详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号