写点什么

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

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

关注

评论

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

WordPress零门槛的付费阅读插件:WPPAY

ABC实验室

【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「SpringAOP 整合篇」

码界西柚

log4j logback 链路追踪组件 日志追踪

任意代码执行漏洞复现

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞分析

Java顶层类Object类(toString、equals)

共饮一杯无

Java Object 11月月更

算法题学习---删除有序链表中重复的元素-I

桑榆

算法题 11月月更

部署 Jenkins 服务器并安装 GitLab 插件、实现代码免秘钥代码 clone

忙着长大#

jenkins

部署PKI 和证书服务

我叫于豆豆吖.

11月月更

Mimir 速体验(Part 6): 规则评估和告警管理

Grafana 爱好者

可观测性 #Grafana 11月月更 Mimr

【LeetCode】自定义字符串排序Java题解

Albert

算法 LeetCode 11月月更

设计模式之美——多用组合少用继承?

GalaxyCreater

设计模式

Ajax学习笔记

lxmoe

前端 学习笔记 11月月更

运维进阶训练营 -W04H

b1a2e1u1u

运维

Spring 5(七)Webflux

浅辄

Spring5 WebFlux 11月月更

DCM:中间件家族迎来新成员

石臻臻的杂货铺

后端 SPL 11月月更

AngularJS进阶(一)深入理解ANGULARUI路由_UI-ROUTER

No Silver Bullet

angular.js 路由 11月月更 ANGULARUI

设计模式之美-为什么要基于接口而非实现编程?

GalaxyCreater

设计模式

Linux 安装

芯动大师

Linux Linux操作系统 11月月更

【LeetCode】统计一致字符串的数目Java题解

Albert

算法 LeetCode 11月月更

二阶思维

元闰子

人生 思维 二阶思维

TCP/IP-ARP网络攻击与欺骗

我叫于豆豆吖.

11月月更

DNS服务器

我叫于豆豆吖.

11月月更

关于python的成员方法,类方法,静态方法

乔乔

11月月更

Ajax学习笔记(二)

lxmoe

前端 学习笔记 11月月更

架构误区系列6:过度异步化

agnostic

定时任务 支付系统 消息队列

部署 jenkins master 及多 slave 环境

忙着长大#

jenkins

管理与系统思维

俞凡

管理 系统思维

【C语言】long 关键字

謓泽

11月月更

《编程的原则》读书笔记(三):软件架构的基本技法和非功能需求

Chares

软件工程 软件开发 编程原理 软件开发原则

计算机网络:广域网的基本概念

timerring

计算机网络 11月月更 广域网

最新版FL Studio2023水果中文版音乐制作软件

茶色酒

FL Studio FL Studio 21 FL Studio2023

支付API设计

agnostic

API

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