【原文地址】ASP.NET MVC Preview 4 Release (Part 1)


ASP.NET MVC开发团队正处于完成崭新的“第四个预览版”的最后阶段,他们希望在本周稍后发布这个版本。第三个预览版着重于完善ASP.NET MVC中的许多底层的核心API和扩展点。从本周的第四个预览版开始,你将看到越来越多的建立于这些核心基础之上的,增加生产力的高层特性开始出现。



个新的版本里有一堆新特性和功能,实际上其数目之多,我决定我需要2个帖子才能对它们全部论及,这第一个贴子将讨论第四个预览版中的缓存
(Caching),错误处理(Error
Handling)和安全(Security)新特性,以及一些测试方面的改进,我下一个贴子将讨论这个版本中新加的AJAX特性。


理解过滤拦截器(Filter Interceptors)

Action
过滤器属性(Filter Attributes)是ASP.NET
MVC中一个非常有用的扩展功能,这个东西最初是在第二个预览版中加入的,允许你在对MVC控制器的请求中注入拦截代码,在
Controller和它的Action方法执行的前后执行,这可以促成一些非常棒的封装场景,在其中,你能以一种非常干净的,声明的方式轻松地封装和重
用功能。


下面是一个极其简单的例子,ScottGuLog过滤器,我可以用它来记录在请求的执行过程中抛出的异常的细节。实现一个定制的
过滤器类非常容易,只要继承自ActionFilterAttribute类型,覆盖其中的适当方法,在Controller的Action方法调用之前
或之后,或者在ActionResult处理进回复之前或之后运行代码。



在ASP.NET MVC Controller中使用过滤器也是非常容易的,只要在Action方法上将其声明为一个属性,或者在Controller类本身之上声明即可(在这个情形下,它将运用于Controller中所有的Action方法):



在上面,你可以看到应用了的2个过滤器的例子,我表示要将“ScottGuLog”运用于“About”这个Action方法,而将“HandleError”过滤器运用于HomeController的所有Action方法之上。


ASP.NET MVC的以前几个预览版本早就开启了这个过滤器扩展性,但并没有发布预制的过滤器,这第四个版本包含了几个有用的过滤器,可以用来处理输出缓存,错误处理以及安全的场景。


OutputCache过滤器

[OutputCache]过滤器提供了一个简易的方式,将ASP.NET MVC与ASP.NET的输出缓存功能相结合(在ASP.NET MVC第三个预览版中,你要编写代码才能实现这个功能)。


想试验一下的话,修改HomeController(是由VS ASP.NET MVC项目模板生成的)中的Index Action方法的Message值来显示当前时间:



在运行这个应用时,每次刷新页面,你都会看到时间戳更新:




[阅读全文...]

挖上一个精彩
挖客给您推荐更多精彩!
挖下一个精彩

这些挖客臭味相投 · · · · · ·


挖客说 · · · · · ·

 

匿名评论
(文明上网,承担一切因您的行为而直接或间接导致的法律责任)

 

 
合作伙伴:   网易科技   赛迪社区   千龙科技   265上网导航   刷刷   动态网站制作指南   煎蛋   新新web2.0   9Fav就喜欢网   Linux桌面中文网   我爱水煮鱼   乐婴网
  天涯海阁   DigiArt   掘图志   cngadget   17Fav   桑林志   91新鲜网   奇事奇物网   搜酷全球