zoukankan      html  css  js  c++  java
  • ASP.NET中的SESSION

    简短的说明,SESSION和COOKIE就是存储用户单元访问web程序时,保存的用户对象信息。因为HTTP请求是无状态的。那么对于一个用户的多次操作,怎么对应衔接起来,对于多用户一起操作,怎么区分开。这个时候,可以使用SESSION或COOKIE保存用户信息。

    SESSION特点:

    1. 信息是保存在服务器端的。服务器端返回一个唯一的SESSIONID给客户端保存。(COOKIE是存储在客户端的)
    2. SESSION是可以保存任意类型的数据
    3. SEESSION的保存时长是可以设置的

      注意:无论是SESSION或COOKIE,存储过多的数据,都会消耗过多的资源。

    SESSION的存储和取值:

    1. SESSION存储:   
    Session["userName"] = "aaa";

      2.SESSION取值:

    string str = Session["userName"].ToString();

      3.SESSION的释放:

             //清除某个Session
    
         Session["UserName"] = null;
         Session.Remove("UserName");
    
         //清除全部Session
    
         Session.Abandon();
    
         session.removeAll();                

      4.Session数据存放的位置和形式,web.config配置节点语法:

    <system.web>
    <sessionState mode="Off|InProc|StateServer|SQLServer"
    cookieless="true|false"
    timeout="number of minutes"
    stateConnectionString="tcpip=server:port"
    sqlConnectionString="sql connection string"
    stateNetworkTimeout="number of seconds"
    />
    </system.web>

    mode:设置将Session信息存储到哪里

    Off:不使用Session功能;

    InProc :将Session存储在IIS进程内,这是默认值,也最常用(优点是简单,性能最高。但是当重启IIS服务器时Session丢失。);

    StateServer :将Session存储在ASP.NET状态服务进程中(重新启动Web应用程序时保留会话状态,并使会话状态可以用于网络中的多个Web服务器。);

    SQLServer :将Session存储在SQL Server中(存储在内存和磁盘中,服务器挂掉重启后都还在)。

    cookieless:设置客户端的Session信息存储到哪里

    ture 使用Cookieless模式;这时客户端的Session信息就不再使用Cookie存储了,而是将其通过URL存储。

    false 使用Cookie模式,这是默认值

    timeout 设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟。

    stateConnectionString 设置将Session信息存储在状态服务中时使用的服务器名称和端口号

    例如:"tcpip=127.0.0.1:42424”。当mode的值是StateServer是,这个属性是必需的。(默认端口42424)。

    sqlConnectionString 设置与SQL Server连接时的连接字符串。

    例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=joye"。当mode的值是SQLServer时,这个属性是必需的。

    stateNetworkTimeout 设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。

  • 相关阅读:
    计算 MD5值
    CoreDate的使用
    Spring入门---Spring AOP编程及示例【第一天】
    Spring入门---Spring Bean的作用域【第一天】
    Spring入门---示例四----集合与数组类型注入【第一天】
    Spring入门---示例三总结反思---配置文件【第一天】
    Spring入门---示例三,Spring IOC控制反转之依赖注入【第一天】
    Spring入门---示例二,面向接口编程技术【第一天】
    Spring入门---了解七个模块,以及示例一【第一天】
    eclipse局域网项目部署(纯感想)
  • 原文地址:https://www.cnblogs.com/king-tao/p/13383845.html
Copyright © 2011-2022 走看看