• Session在类库中的使用


    转自:http://www.cnblogs.com/JiangXiaoTian/articles/3490904.html

    网站开发中,为了保存用户的信息,有时候需要使用session。如果我们在aspx页面中使用Session,只需要Session["key"]=value就可以,获取时使用int userid=Session["userid"],但是在赋值时,我们可能需要判断Session是否为空,是否能转换成int类型。如果只在一处使用Session,那么我们可以直接在aspx页面中操作,修改也只需修改一处。

    但在操作Session时,可能会在多个页面,如果修改Session,可能需要修改多个页面,这样会非常的繁琐。解决的办法主要有两个,一个是基类页面,添加一个基类页面,页面继承自System.Web.UI.Page,在基类页面中处理Session。其它的涉及Session操作的继承自基类页面。二是使用类,如果在asp.net项目中使用类,只需要引用

    using System.Web;
    using System.Web.SessionState;
    //然后定义
    private static HttpSessionState _session = HttpContext.Current.Session;
    就可以通过_session操作Session了。

    本文主要介绍第二种方式,而且是使用类库操作Session的方法。
    1.新建一个类库
    2.添加引用,解决方案资源管理器中,右键“引用”-》“添加引用”-》.net-》选择“System.Web”-》点击“确定”
    3.添加一个类,在类中引用

    using System.Web;
    using System.Web.SessionState;

    4.操作Session,主要涉及添加,获取,清除。其它的如修改、删除也可添加。主要代码如下:

    private static HttpSessionState _session = HttpContext.Current.Session;
    public static void SetSession(string key,object value)
    {
        _session[key] = value;
    }
    public static int GetSessionNumber(string key)
    {
        int result = 0;
        if(_session[key]!=null)
        {
            int.TryParse(_session[key].ToString(), out result);
        }
        return result;
    }
    public static string GetSessionString(string key)
    {
        string result = "";
        if(_session[key]!=null)
        {
            result = _session[key].ToString();
        }
        return result;
    }
    public static void Clear()
    {
        _session.Clear();
    }

     注释:session有效时间默认为20分钟,内容来自中国站长资讯网(www.chinahtml.com)这个时间是指,当用户登录后,如果没有任何动作,即不在web上有请求.将维持这个用户的身份有效时间是20分钟,如果这个用户一直与web有请求操作,那么,这个时间一直没有算在20分钟内,即,如果用户登录后,即便操作一个小时,那么也不会出现超时,除非用户与服务器之间掉线。

    Session对象默认失效期为20分钟,用户也可以在Web.Config中对其进行设置。

    配置Web.Config文件的方法如下:
          在Web.Config文件的<system.web></system.web>节点中添加如下代码,设置Session的生命周期为10分钟。

    代码: <sessionState mode="InProc" timeout="10"></sessionState>
  • 相关阅读:
    win10安装mysql5.6,mysql启动时,闪退
    java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    textarea输入框随内容撑开高度
    jQuery插件写法
    .net APIHelper client获取数据
    .net XmlHelper xml帮助类
    .net JsonHelper json帮助类
    .net WebAPI返回xml、json格式
    VMware Workstation Pro 14 序列号
    embed标签 阻止点击事件 让父元素处理点击事件
  • 原文地址:https://www.cnblogs.com/huangshuqiang/p/6101938.html
Copyright © 2020-2023  润新知