50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

第五周学习心得

子豪sirius

缓存设计

GalaxyCreater

作业

架构师训练营 week5

devfan

架构师训练营-第四周-作业1

A Matt

极客大学架构师训练营

架构师训练营 - 作业 - 第五周

心在飞

极客大学架构师训练营

Golang实现一致性哈希(consistent hash)

leis

架构师训练营第5周作业

养乐多

架构师训练营 第五周 作业

CR

一致性hash算法的实现

李小匪

架构 算法

一致性hash

GalaxyCreater

算法

事件驱动架构(W5总结)

麻辣

架构师训练营第五周作业

努力努力再努力m

极客大学架构师训练营

week 5 总结

Gavin

关于 openresty 中的时间使用

程序员与厨子

第五周

架构师 架构是训练营

架构师训练营-第五周-作业

狂奔嘀兔纸

极客大学架构师训练营

Week05总结

leis

架构师训练营-第三周-总结

A Matt

极客大学架构师训练营

架构师训练营 W5 学习总结

Kun

极客大学架构师训练营

架构师训练营第五周-作业

王权富贵

极客大学架构师训练营

架构师训练营 第五周 作业

一雄

极客大学架构师训练营 作业 第五周

第五周-学习总结

molly

极客大学架构师训练营

架构训练营第五周作业

子豪sirius

week 5 作业

Gavin

架构师训练营第五周-作业

草原上的奔跑

极客大学架构师训练营

week05 作业

Geek_196d0f

架构师训练营第五周心得

努力努力再努力m

极客大学架构师训练营

学习总结 - 架构师训练营 - 第五周

走过路过飞过

应用服务器性能优化

stars

极客时间架构师训练营 - week5 - 作业 1

jjn0703

代价与平衡

极客大学架构师训练营 CAP 代价 平衡 意识

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