码迷,mamicode.com
首页 > Web开发 > 详细

VS2012的Web.config中使用machineKey

时间:2015-02-03 12:29:48      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

在VS2012中新建项目,Web.config中使用machineKey,总是报错:

“验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的validationKey 和验证算法。不能在群集中使用 AutoGenerate。”

后来从网上查找原因,发现是升级至ASP.NET 4.5后导致的。

ASP.NET 4.5的默认设置是:

<machineKey compatibilityMode="Framework45" />

ASP.NET 4.5对表单验证的加/解密算法进行了改进,如果不是同时将所有ASP.NET应用程序升级至ASP.NET 4.5,为了保持表单验证的兼容性,需要修改compatibilityMode的设置。

<machineKey compatibilityMode="Framework20SP1"/>

<machineKey compatibilityMode="Framework20SP2"/>

修改web.config如下:

<machineKey validationKey="6799A837225DBC4C740C4BDF5B369C7C7BF7DF5EAF09AF82EC225EE1DE94A6E97B2A0FD9759BE504E90D1EDF05D4891F0EDF9D3B01A433F642407C18A25764B7" decryptionKey="6980FD19A2C05E2FF0B5634EDF0BE2C4C4C880F0126739C9" decryption="3DES" validation="SHA1" compatibilityMode="Framework20SP2"/>

一切OK!

 

VS2012的Web.config中使用machineKey

标签:

原文地址:http://www.cnblogs.com/sunshine-mike/p/4269412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!