知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[1]
Posted 知
篇首语:万事须己运,他得非我贤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[1]相关的知识,希望对你有一定的参考价值。
ASP.NET MVC 4框架揭秘:Controller(2)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Controller( )
通过Visual Studio的Controller创建向导创建的Controller类型实际上继承自抽象类System Web Mvc Controller 它是ControllerBase的子类 如下面的代码片段所示 除了直接继承ControllerBase之外 Controller类型还显式地实现了IController和IAsyncController接口 以及代表ASP NET MVC 四大筛选器(AuthorizationFilter ActionFilter ResultFilter和ExceptionFilter)的 个接口(我们会在第 章 Action的执行 中对筛选器进行详细介绍)
public abstract class Controller :
ControllerBase
IController
IAsyncController
IActionFilter
IAuthorizationFilter
IExceptionFilter
IResultFilter
IDisposable
…
//省略成员
同步还是异步
从抽象类Controller的定义可以看出它同时实现了IController和IasyncController这两个接口 意味着它既可以采用同步的方式(调用Execute方法)执行 也可以采用异步的方式(调用BeginExecute/EndExecute方法)执行 但是即使执行BeginExecute/EndExecute方法 Controller也不一定是以异步方式执行的
如下面的代码片段所示 Controller具有一个布尔类型的属性DisableAsyncSupport 表示是否关闭对异步执行的支持 在默认的情况下该属性总是返回False 即支持以异步方式执行Controller BeginExecute方法会根据DisableAsyncSupport属性决定究竟是调用Execute方法以同步的方式执行 还是调用BeginExecuteCore/EndExecuteCore方法以异步的方式执行 换句话说 如果我们希望Controller总是以同步的方式来执行 可以将DisableAsyncSupport属性设置为True
public abstract class Controller: …
//其他成员
protected virtual bool DisableAsyncSupport
getreturn false;
protected virtual IAsyncResult BeginExecute(RequestContext requestContext
AsyncCallback callback object state)
if (this DisableAsyncSupport)
//通过调用Execute方法同步执行Controller
else
//通过调用BeginExecuteCore/EndExecuteCore方法异步执行Controller
protected virtual IAsyncResult BeginExecuteCore(AsyncCallback callback
object state)
protected virtual void EndExecuteCore(IAsyncResult asyncResult)
现在我们通过一个简单的实例来演示属性DisableAsyncSupport对默认创建的Controller执行的影响 我们在一个ASP NET MVC应用中定义了一个具有如下定义的默认Home Controller 它重写了Execute ExecuteCore BeginExecute/EndExecute和BeginExecuteCore/ EndExecuteCore六个方法 同时将相应的方法名写入响应并最终呈现在浏览器上
cha138/Article/program/net/201311/16097相关参考
ASP.NETMVC4框架揭秘:总体设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章&n
知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[2]
ASP.NETMVC4框架揭秘:ControllerFactory[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[1]
ASP.NETMVC4框架揭秘:ControllerFactory[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们
知识大全 ASP.NET MVC 4框架揭秘:Controller(1)
ASP.NETMVC4框架揭秘:Controller(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 ASP.NET MVC 4框架揭秘:Controller(3)
ASP.NETMVC4框架揭秘:Controller(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[2]
ASP.NETMVC4框架揭秘:Controller(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[1]
ASP.NETMVC4框架揭秘:CBuilder(1)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[2]
ASP.NETMVC4框架揭秘:CBuilder(1)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
知识大全 ASP.NET MVC 4框架揭秘:CBuilder(2)[2]
ASP.NETMVC4框架揭秘:CBuilder(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看