ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方

本文详细介绍了在升级ASP.NET应用程序至ASP.NET4.5时,需要特别注意的两个关键点:web.config中machineKey的compatibilityMode设置以及对WebForms表单验证控件的影响。包括如何解决因升级导致的表单验证错误,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原以为只要在Visual Studio 2012中将每个项目的Target framework设置为.NET Framewor 4.5进行编译,然后在web.config中设置compilation的targetFramework为4.5,就升级到了ASP.NET 4.5。

<compilation targetFramework="4.5"/>

后来发现这样是不够的,还需要在web.config中设置httpRuntime的targetFramework。

<httpRuntime targetFramework="4.5"/>

这样才算真正升级至ASP.NET 4.5。

升级之后有两个地方需要特别注意:

1. web.config中machineKey的设置

ASP.NET 4.5的默认设置是:

<machineKey compatibilityMode="Framework45" />

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

<machineKey compatibilityMode="Framework20SP1"/>
<machineKey compatibilityMode="Framework20SP2"/>

2. 对WebForms表单验证控件的影响

如果用到了<asp:RequiredFieldValidator/>这样的验证控件,会出现下面错误:

WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive). 

解决方法:在web.config的<appSettings>中添加如下的设置

<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

您在升级至ASP.NET 4.5中发现什么需要注意的地方,期待您的分享!

 

参考资料:

All about <httpRuntime targetFramework>

Cryptographic Improvements in ASP.NET 4.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值