知识大全 ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[1]

Posted 状态

篇首语:丈夫欲遂平生志,一载寒窗一举汤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[1]相关的知识,希望对你有一定的参考价值。

ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     Controller的释放和会话状态行为的控制

  作为激活Controller对象的ControllerFactory不仅仅用于创建目标Controller对象 还具有两个额外的功能 即通过ReleaseController方法对激活的Controller对象进行释放和回收 以及通过调用GetControllerSessionBehavior方法返回用于控制当前会话状态行为的SessionStateBehavior枚举对象

  对于默认使用的DefaultControllerFactory来说 它对Controller对象的释放操作很简单 即如果Controller类型实现了IDisposable接口 则直接调用其Dispose方法即可 我们将这个逻辑也实现在了我们自定义的ReflectedControllerFactory中

  public class ReflectedControllerFactory : IControllerFactory

  

  //其他操作

  public void ReleaseController(IController controller)

  

  IDisposable disposable = controller as IDisposable;

  if (null != disposable)

  

  disposable Dispose()

  

  

  

  至于用于返回SessionStateBehavior枚举的GetControllerSessionBehavior方法 在默认的情况下它的返回值为SessionStateBehavior Default 通过前面的介绍我们知道在这种情况下具体的会话状态行为取决于创建的HttpHandler所实现的标记接口 对于ASP NET MVC应用来说 默认使用的HttpHandler是一个MvcHandler的对象 如下面的代码片段所示 它实现了IRequiresSessionState接口 意味着默认情况下会话状态是可读写的(相当于SessionStateBehavior Requried)

  public class MvcHandler :

  IHttpAsyncHandler

  IHttpHandler

  IRequiresSessionState

  

  //其他成员

  

  可以通过在Controller类型上应用System Web Mvc SessionStateAttribute特性来具体控制会话状态行为 如下面的代码片段所示 SessionStateAttribute具有一个SessionStateBehavior类型的只读属性Behavior用于返回具体行为设置的会话状态行为选项 该属性是在构造函数中被初始化的

cha138/Article/program/net/201311/16079

相关参考

知识大全 ASP.NET MVC 4框架揭秘:总体设计

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框架揭秘:Controller(2)[1]

ASP.NETMVC4框架揭秘:Controller(2)[1]  以下文字资料是由(全榜网网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)小编为大家搜集整理后发布的内容,让我们赶快一起来看