Preview4的改变
赵劼架构师上海柏盛
网络技术有限公司柏术
点击添加MSN机器人小新为您收听下载MSDN中文网络广播
课程加油助力!
收听本次课程需具备的条件
了解ASP.
NETMVC基本开发特性本特性
Level200
Preview4的改变
AccountControllerFilter的改变AJAXControllerBuilder增加命名空间特性TempData改进ActionInvoker的改进ASP.NETMVCFutures
AccountController
专负责户户专门负责用户帐户相关操作的Controller作并不属于ASPNETMVC框架并不属于ASP.NET
–只是在模板中内置而已
利用了利用了APS.NETMembershipProvider功能及其有限,产品环境一般无甚大用功能及其有限,产品环境般无甚大用
–参考价值:封装、提高可测试性
Demo1
AccountController简单浏览
Filter机制的改变
ActionFilter为Preview3引入的功能功横贯请求执行过程的逻辑
–Logging–EExceptionHdlitiHandling–etc.
祥见本系列第7次课程
Filter的拆分
Preview3中只有一个IActionFilter中有个Preview4
–IActionFilter–IRIResultFilterltFilt–IExceptionFilter–IAuthorizationFilter
ActionFilterAttribute
FilterAttributeActionFilterAttribute:
–FilterAttribute–IAtiFiltIActionFilter–IResultFilter
HandleErrorAttribute:
–FilterAttribute–IExceptionFilter
Preview4内置的Filter
OutputCache
–缓存输出(对比:缓存数据)–VaryByParam:根据指定参数进行
HdlEHandleError
–可捕获特定异常,可指定出错View(默认为Error)–View查找顺序:Controller目录=>Shared目录找顺序目录目录
Authorize:授权
Demo2
OutputCache与HandleError
AJAX
Ajax.FormAjaxActionLinkAjax.ActionLink基于Nikhil的AJAX解决
方案 –祥见本系列第8讲附录
后台使用“不返回ActionResult”的Action后台使用不返回ActionResult的Action还是一个不成熟的方案
–个人认为会有改变
DEMO3
AJAX
ControllerBuilder的命名空间
在之前在之前的Controller选择逻辑中,如果出现辑中命则能同名Controller(不同命名空间),则可能会引发异常。Priview4为ControllerBuilder引入DefaultNamespaces属性,可指定Controller的命名空间C的命名空间能够为特定Route规则指定特定命名空间
ControllerBuilder.Current.DefaultNamespaces.Add(ControllerBuilderCurrentDefaultNamespacesAdd("…"););