您现在的位置是:首页 >

net开发框架有哪些 ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[2]

火烧 2023-02-11 13:43:40 1099
ASP.NET MVC 4框架揭秘:Co troller的释放和会话状态行为的控制[2]   [Attri uteU age(Attri uteTarget Cla AllowMulti le = f

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

  [AttributeUsage(AttributeTargets Class AllowMultiple = false Inherited = true)]

  public sealed class SessionStateAttribute : Attribute

  {

  public SessionStateAttribute(SessionStateBehavior behavior)

  public SessionStateBehavior Behavior { get; }

  }

  DefaultControllerFactory会试着获取应用在Controller类型上的SessionStateAttribute特性 如果这样的特性存在则直接返回它的Behavior属性所表示的SessionStateBehavior枚举 如果不存在则返回SessionStateBehavior Default 具体的逻辑也反映在我们自定义的ReflectedControllerFactory的GetControllerSessionBehavior方法中

  public class ReflectedControllerFactory : IControllerFactory

  {

  //其他成员

  public SessionStateBehavior GetControllerSessionBehavior(

  RequestContext requestContext string controllerName)

  {

  Type controllerType = this GetControllerType(requestContext RouteData

  controllerName)

  if (null == controllerType)

  {

  return SessionStateBehavior Default;

  }

  SessionStateAttribute attribute = controllerType

   GetCustomAttributes(true) OfType<SessionStateAttribute>()

   FirstOrDefault()

  attributeattribute = attribute ??

  new SessionStateAttribute(SessionStateBehavior Default)

  return attribute Behavior;

  }

  }

      返回目录ASP NET MVC 框架揭秘

      编辑推荐

net开发框架有哪些 ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[2]

      ASP NET开发培训视频教程

      Microsoft NET框架程序设计视频教程

       Java程序性能优化 让你的Java程序更快 更稳定

       Visual C++音频/视频技术开发与实战

lishixinzhi/Article/program/net/201311/16080  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码