Session源码解读

有些场景下session必用,比如登陆时候的验证码。

session是httpContext下的字段。

类型是HttpSessionState。可以看到这是一个集合,并且实现了IEnumerable,实现了2种索引。

具体的存储地方,是在IHttpSessionState类型的container中。

namespace System.Web.SessionState
{
    //
    // 摘要:
    //     提供对会话状态的值,以及会话级别设置和生存期管理方法的访问。
    [DefaultMember("Item")]
    public sealed class HttpSessionState : ICollection, IEnumerable
    {
        //
        // 摘要:
        //     获取或设置一个会话值通过数字索引。
        //
        // 参数:
        //   index:
        //     会话值的数字索引。
        //
        // 返回结果:
        //     存储中的指定索引处的会话状态值或 null 如果该项不存在。
        public object this[int index] { get; set; }
        //
        // 摘要:
        //     获取或设置会话值的名称。
        //
        // 参数:
        //   name:
        //     会话值的键名称。
        //
        // 返回结果:
        //     具有指定名称的会话状态值或 null 如果该项不存在。
        public object this[string name] { get; set; }

        //
        // 摘要:
        //     获取一个值,该值是嵌入在 URL 中还是存储在 HTTP cookie 的会话 ID。
        //
        // 返回结果:
        //     true 如果会话嵌入到 URL;,否则为 false。
        public bool IsCookieless { get; }
        //
        // 摘要:
        //     获取一个对象,可使用该对象同步会话状态值的集合的访问权限。
        //
        // 返回结果:
        //     可用于同步集合访问的对象。
        public object SyncRoot { get; }
        //
        // 摘要:
        //     获取存储在会话状态集合中的所有值的键的集合。
        //
        // 返回结果:
        //     System.Collections.Specialized.NameObjectCollectionBase.KeysCollection 包含所有的会话密钥。
        public NameObjectCollectionBase.KeysCollection Keys { get; }
        //
        // 摘要:
        //     获取会话状态集合中的项数。
        //
        // 返回结果:
        //     集合中项的数目。
        public int Count { get; }
        //
        // 摘要:
        //     获取声明的对象的集合, <object Runat="Server" Scope="Session"/> ASP.NET 应用程序文件 Global.asax
        //     中的标记。
        //
        // 返回结果:
        //     System.Web.HttpStaticObjectsCollection 在 Global.asax 文件中包含对象声明。
        public HttpStaticObjectsCollection StaticObjects { get; }
待续。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值