net开发框架有哪些 ASP.NET MVC 4框架揭秘:Controller的释放和会话状态行为的控制[2]
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]](http://img.zhputi.com/uploads/d44a/d44a1da8a38ed3a42a5a4545d9a17ce449779.jpg)
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化 让你的Java程序更快 更稳定
Visual C++音频/视频技术开发与实战
lishixinzhi/Article/program/net/201311/16080