VS2012的Web.config中使用machineKey

来源:互联网 发布:淘宝公告栏素材 编辑:程序博客网 时间:2024/06/11 03:28

在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"/>


原创粉丝点击