限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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

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

关注

评论

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

华为云GaussDB(DWS)内存知识点,你知道吗?

华为云开发者联盟

数据库 大数据 数据 内存 华为云

老哥,您看我这篇Java集合,还有机会评优吗?

苹果看辽宁体育

Java 后端

什么?不写代码也能做功能开发! -RUOYI 教程二

Java_若依框架教程

Java 无代码开发 若依

基于 Golang的侵入式 Opentracing实现全链路追踪 ----实践篇

是老郭啊

微软苏州集体抵制来自阿里、华为的跳槽者:请停止你的“奋斗逼”行为!网友:看到 955 不加班的公司名单,我酸了

程序员生活志

程序员 加班 996

数据人必须知道的SQL概念(A—Z)

大唐小生

sql 数据 职场成长

第九周

hdhdh

架构师训练营第八章-作业1

A Matt

初识分布式:MIT 6.284系列(一)

Kerwin

分布式 MIT 28天写作

英特尔®AI计算盒参考设计发布 加速智能边缘崛起

最新动态

实用!一键生成数据库文档,堪称数据库界的Swagger

程序员小富

Java MySQL

秒杀系统问题与方案设计

superman

秒杀 架构总结

JVM系列之:JIT中的Virtual Call

程序那些事

Java JVM JIT

《深度工作》学习笔记(3)

石云升

学习 深度工作 工作哲学

你问我答:微服务治理应该如何去做?

BoCloud博云

容器 微服务 PaaS API 博云

在人工智能时代追逐的“后浪”

华为云开发者联盟

程序员 AI 开发者 技术社区 华为云

云小课 | IPv4枯了,IPv6来了

华为云开发者联盟

IP 公有云 虚拟私有云 华为云 虚拟化

数据库系统设计概述

码哥字节

数据库 redis mongodb elasticsearch 数据库设计

<<前端进阶篇>> PDF 出炉了 — 「阿宝哥」,精心准备的 6 万多字 170 页的前端进阶资料

阿宝哥

大前端

财务分析与主要的模型

松子(李博源)

将信将疑,将中台进行到底

郭华

手写一个重入锁

诸葛小猿

synchronized CAS 重入锁 compareAndSwap ReentrantLock

系统设计系列之如何设计一个短链服务

看山

架构 面试 分布式 架构设计 短链服务

飞天茅台超卖事故:Redis分布式锁请慎用!

程序员生活志

redis 分布式

Vue中使用装饰器,我是认真的

前端有的玩

Java Vue 装饰器

技术管理者带团队的几个实用技巧

Phoenix

团队管理 企业文化 团队 价值观

智能膜切机,解决手机贴膜行业难题

Geek_116789

ARTS打卡 第10周

引花眠

ARTS 打卡计划

Newbe.Claptrap 框架如何实现多级生命周期控制?

newbe36524

架构 微服务 .net core ASP.NET Core

计算机网络基础(十一)---网络层-OSPF协议

书旅

计算机网络 网络 协议栈 OSPF

授人以渔:stm32资料查询技巧

华为云开发者联盟

架构 armv8 芯片 华为云 二进制

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