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

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

2013-11-03 十有三 0 浏览:1724 .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导致显示器无法显示

相关文章
  • C#如何根据输入的行数打印出由*星号组成的三角形
  • 解决特殊字符引发的错误:应用程序配置文件"App.config/Web.config"无效。分析EntityName时出错
  • 解决Visual Studio 起始页中"最近的项目"没有记录最近使用的项目和解决方案
  • VS添加命名空间的快捷键
  • VS重构重命名的快捷键
  • ASP.NET MVC UrlParameter.Optional字段用法和意思
发表评论
记住昵称

文章分类

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

文章标签

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

热门文章

  • 解决IE11安装升级失败和在安装前需要更新的问题
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • jquery ajax error函数和及其参数详细说明
  • 骑马与砍杀 无限箭枝/作弊修改箭枝数量/调整各种箭枝数量的方法
  • 在唯一密钥属性“fileExtension”设置为“.”时,无法添加类型为“mimeMap”的重复集合项

推荐文章

  • OneNote使用技巧分享:如何在办公室等公共场合中安全使用私人笔记
  • HTML小技巧:使用CSS3属性绘制圆形元素和图片
  • 超级有意思的程序代码注释--ASCII图片
  • ASP.NET MVC实现IExceptionFilter接口编写自定义异常处理过滤器
  • 解决MongoVUE 修改错误: cannot use 'j' option when a host does not have journaling enabled

最新评论

  • 感谢脖主分享
  • 在“为click once清单签名”的右侧,可以创
  • 用的帝国cms,修改后无效啊。 缓存清理了,浏览
  • 我的需求是:分享出去是同一个网站,但是微信分享需要
  • 试了 的确 有效,只能用english的语言进行安

友情链接

  • Wil的博客
  • Passingwind的博客
  • 坤哥网
  • .NET开发者社区

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