写点什么

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:352162
用户头像

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

关注

评论

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

用户体验再升级!Erda 1.2 版本正式发布

尔达Erda

云计算 开源 开发者 云原生 Go 语言

快速生成好看实用的接口文档

与风逐梦

后端 接口文档

Regan Yue带你一起学习微软AZ-900认证的有关知识「 第V章」

Regan Yue

微软 8月日更 AZ-900

云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用

华为云开发者联盟

AI ModelArts Pro EI智能体 视觉套件

拆分电商系统为微服务

面向对象的猫

遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI

华为云开发者联盟

隐私保护 隐私计算 PSI 联邦计算 数据碰撞

反向压力

程序员鱼皮

架构 系统设计 大前端 后端 实时计算

Rust从0到1-高级特性-类型进阶

rust 高级特性 类型 Types

kubernetes增加Node详细步骤

消失的子弹

Kubernetes 云原生 k8s kubeadm

拆分电商系统为微服务

木云先森

架构实战营

Spark 源码阅读 02:从 Spark-Submit 到 Driver 启动

程序员赤小豆

spark 技术 Spark 源码

情窦初开,原来喜欢这么可爱的

4ye

Python 后端 8月日更 词云

Python实现批量压缩文件/文件夹——zipfile

Python研究者

8月日更

架构训练营模块六作业

喻高咏        

架构实战营

索引下推,这个点你肯定不知道!

艾小仙

MySQL MySQL 高可用

详解可观测性监控系统中的“金三角”

尔达Erda

开源 微服务 运维 云原生 APM

AI应用说-生产制造专场开课啦!

百度大脑

人工智能

接口测试参数化(环境变量使用)----apipost

Proud lion

大前端 后端 Postman 开发工具 接口文档

CC通用成绩查询小程序(云开发无服务器解决方案)

CC同学

Vue进阶(八十四):Computed 和 Watch 使用与区别

No Silver Bullet

Vue 8月日更

挑战倒计时!“互联网+”大赛华为命题加速高阶能力提升

华为云开发者联盟

华为云 鲲鹏 大赛 “互联网+” 昇腾AI

微信自研生产级paxos类库PhxPaxos实现原理介绍

OpenIM

IM

从头配置阿里云服务器

阿Q说代码

SSL证书 8月日更 阿里云服务器 域名备案

技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

小傅哥

Java 小傅哥 低代码 IDEA 脚手架

创业增长黑客 – 如何低成本获取种子用户|冷启动实战案例 – 挖掘用户需求背后的真实动机

蒋川

用户增长 需求落地 产品经历 业务增长 数据思维

带你掌握JS防抖与节流

华为云开发者联盟

面试 定时器 节流 JS防抖 触发

Spark 源码阅读 01:环境搭建

程序员赤小豆

spark 技术 Spark 源码

苏宁精准测试方案探索和实践

薛飞

精准测试

面向多场景而设计的 Erda Pipeline

尔达Erda

开源 微服务 云原生 企业数字化转型 Go 语言

云原生时代的 APM

尔达Erda

微服务 运维 云原生 APM 应用性能管理

书单 | 8月新书榜单TOP10,快来看看都有谁吧~~

博文视点Broadview

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