写点什么

ASP.NET MVC 2 中的不兼容修改

  • 2010-03-19
  • 本文字数:683 字

    阅读完需:约 2 分钟

前些天 Scott Guthrie 宣布 ASP.NET MVC 2 正式发布了。在带来众多新特性的同时,ASP.NET MVC 2 也包含了一些不兼容的修改。与.NET BCL 类库苛刻的修改规则相比,ASP.NET MVC 的修改则有些烦人。

首先是 IDataErrorInfo ,这个接口一直存在于.NET 中,却没有任何东西指导如何使用它。在 ASP.NET MVC 1 中,只有那些被修改过的属性才会被检查是否合法;而在 2.0 中,所有的属性都会被检查,这大大减少了出错的可能。此外,当验证属性失败时,就不会再验证类了。

Html.Substitute 被用来创建那些不被缓存的片段,由于 MVC 视图引擎的改变,而从新版本中消失了。这意味着所有依赖部分缓存的人,都需要重新考虑他们的设计了。

IValueProvider 取代了被大量使用的 IDictionary 接口。据文档记载“这个改变只会影响那些使用自定义 value provider 或自定义 model binder 的程序”。

辅助方法的返回值不再是一般的字符串,而是 MvcHtmlString 。这是为了支持 ASP.NET 中 HTML 编码模块的新语法。在 ASP 和 ASP.NET 中,开发人员可以使用 <%= expression%> 来混合静态与动态内容,但这样也很容易造成 HTML 注入错误。在 ASP.NET 4 中,开发人员可以使用新语法 <%: expression%> 来保证所有的字符串都被正确的编码为 HTML。如果你不想字符串被编码,则需要让 expression 返回 IHtmlString。

对于 DefaultControllerFactory 的改变,意味着在自定义 Controller Factory 中做出相应的改变。自定义 Controller Factory 通常被用做依赖注入。

最后,“area”这个字符串在 URL 路由中变成了保留字,这是为了支持 MVC 2 中新加入的区域特性。

查看英文原文: ASP.NET MVC 2 Brings Breaking Changes

2010-03-19 03:352200
用户头像

发布了 63 篇内容, 共 28.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

IoT物联网平台「设备影子」开发实战——实践类

阿里云AIoT

JavaScript json 物联网 API 储存

【异常】Cause: java.sql.SQLException: Invalid value for getInt()

No8g攻城狮

sql Java、 javaWeb

2023 年openEuler 社区技术委员会增选,新增2位委员

openEuler

Linux 开源 操作系统 openEuler 资讯

1月10日 KaiwuDB 1.0 线上发布会

KaiwuDB

硅基仿生业务全面 Serverless 容器化,14万+问答库助力糖尿病科普

阿里巴巴云原生

阿里云 Serverless 云原生

基于 Log 的通用增量 Checkpoint

Apache Flink

大数据 flink 实时计算

SQL Studio:一款纯Web化SQL开发工具,关键是免安装还免费!

雨果

sql 数据库管理工具 SQL开发

【深入浅出Sentinel原理及实战】「框架整合专题」Sentinel服务框架对接Dubbo服务框架整合开发指南(4)

码界西柚

dubbo sentinel 1月日更 sentinel dashboard

百度百舸·AI 异构计算平台,加速自动驾驶模型迭代

Baidu AICLOUD

自动驾驶 模型训练 异构计算

TextView(文本框)详解

芯动大师

android UI TextView

累计装机超过300万套 欧拉操作系统跨越生态拐点

极客天地

为什么说 数据服务是数据中台的标配?

用友BIP

Hands on HTML & CSS

无人之路

CSS html

游戏行业(北区)客户沙龙丨阿里云用户组北京站

云布道师

阿里云

干货!C4D的7个实用插件分享

Finovy Cloud

云渲染 C4D

安畅SmartOps混合云平台架构的演进之道

安畅Anchnet

云原生

模块三

GeekMLS

#架构训练营

云渲染市场安全吗?如何保证数据安全、财产安全?

Renderbus瑞云渲染农场

云渲染 云渲染农场 云渲染安全

一种简洁又不失优雅的工作流:极狐 flow

极狐GitLab

DevOps flow workflow 极狐GitLab 分支管理

阿里云网络解决方案架构师任江波:全球一张网,支撑游戏业务高效互联

云布道师

阿里云

Triple 协议支持 Java 异常回传的设计与实现

阿里巴巴云原生

阿里云 云原生 dubbo

【JavaScript】JavaScript(js)简单介绍

No8g攻城狮

JavaScript JavaScript4

直播 | StarRocks 联合腾讯云分享 EMR-StarRocks 的降本增效之路

StarRocks

数据库

喜讯!云起无垠获评《2022年度十大新锐企业》

云起无垠

Fuzzing 2022年度十大新锐企业

从 Nginx Ingress 窥探云原生网关选型

阿里巴巴云原生

阿里云 微服务 云原生

Apache RocketMQ 斩获 InfoQ 2022 年度十大开源新锐项目

阿里巴巴云原生

阿里云 云原生 Apache RocketMQ

要做好用户体验,一定要知道这些心理学效应!

产品海豚湾

心理学 产品经理 产品设计 用户体验 交互设计

2022年中国特色智能工厂领航制造业升级分析报告

易观分析

数字经济 智能工厂

私有部署V3.8:自建内部应用库和预置应用

明道云

ASP.NET MVC 2中的不兼容修改_.NET_Jonathan Allen_InfoQ精选文章