ASP.NET MVC上线许可
时间:2010-10-21 来源:cnblogs
微软ASP.NET团队由衷采纳了“及早部署,时常部署”的敏捷哲学。紧跟ASP.NET MVC 2的脚步,框架的第3个版本已经允许在生产环境中使用了。由于Razor语法等值得期待的新功能,这次发布势必引人关注。
之前我们也讨论过Razor,它是ASP.NET MVC中四大视图引擎之一。这次发布除了增强了C#版Razor之外,也提供了VB版本的Razor。两种Razor引擎与之前的“<%”语法相比略显臃肿,但也带来了许多优势。
ASP.NET MVC也对验证模型进行了一些修改。版本2会在表单级别拦截存在安全隐患的用户输入,而在版本3中,输入验证可以在字段级别启用或是关闭。
新版本在依赖注入方面也投入了许多思考,其中引入了三个接口:IControllerActivaor,IDependencyResolver和IViewActivator。依赖处理器(IDependencyResolver)可用来注入模型验证机制、元数据、Value Provider以及Model Binder。这里的意义不仅仅在于微软提供了更好的灵活性,而是程序员可以自行替换几乎所有的内部实现。
与版本1至版本2的升级不同,这次改变只有一个潜在的破坏。异常过滤器在Order值相同的情况下会被优先执行。同样在执行时,更有针对性的过滤器会优先于通用过滤器。当然,为每个控制器和异常过滤器提供独一无二的Order值依旧是一个推荐的做法。
ASP.NET MVC 3能够与前两个版本共存。开发人员需要根据发布通告中的步骤升级现有站点。如上文所述,这个beta版本已经获得了“上线(Go Live)”许可,能够用于生产环境。不过它始终还是beta版,所以未来的最终版本还是存在改变的可能。此外还有一些额外的问题,如Razor无法享受到智能提示,也无法使用数组类型的强类型视图。