zoukankan      html  css  js  c++  java
  • 学习session

      刚刚学习.net,菜鸟一只 ,希望大家多多关照,有问题留言多多帮助我,谢谢

               对于session用法很简单,之前一直用也没理解其工作原理,今天查查资料才对他明白了一点点,写出来

              1,可以帮助像我一样的同学,2.留作日后参考,3,很重要(给我留作学习生涯的点点回忆)


    begin:

              一个session就是我们平常说的一个会话,用法:Session["key"]=value;

              key:我们自己给他创建的名称, 

              value:赋给session的值,

          1.当用户创建了一个session时,此sesion的信息会保存在服务器的内存(如果mode=inproc)里,(由于内存有限,所有易丢失就是session特点之一,)

    服务端此时发送给客户端一个sessionID来区别于别的用户信息(每个用户的信息都在服务端的session[key]中,sessionid来区别每一个用户),SessionID将保存在客户端的cookie里,

    当下一次用户请求时,服务端会检查请求里的sessionid,然后在内存中遍历搜索,如果有将继续操作,如果session[key] = null,说明session已过期,跳转的登录页面,

        2.session的过期时间,当设置了session过期时间为10分钟时,此时在服务端将会有一个类似倒计时的东西来计算session的过期时间,如果过了10分用户没有再请求服务器,

         这个回话就结束了,也就是session过期了。期间,如果用户不断的发出请求。服务端每次接受到请求时都会重新计算session时间。但发起请求的操作包括但不限于:刷新页面,提交表单,删除添加等。
      

    这段代码就是设置session在web.config中的<system.web>节点下

    < sessionState mode="Off|InProc|StateServer|SQLServer"         服务端保存session的位置  //关闭|进程中|状态服务器|数据库
                  cookieless="true|false"                                              客户端保存sessionID的位置  false用cookie保存,true用cookieless保存(不要cookie保存的配置下面将会提到,)
                  timeout="number of minutes"                                     过期时间,单位分钟,默认20分钟
                  stateConnectionString="tcpip=server:port"                当mode = stateserver是这个属性是必须的。服务器地址:端口号,
                  sqlConnectionString="sql connection string"               当mode= sqlserver 是这个属性是必须的
                  stateNetworkTimeout="number of seconds"                设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的
    />  

    如果那有不正确的地方,希望前辈指正。谢谢

             

  • 相关阅读:
    位运算技巧2
    如果函数的参数是一个指针,不要指望用该指针去申请动态内存
    位运算 技巧1
    野指针?空指针?
    面试题:位操作实现四则运算
    面试题:递归颠倒栈 与栈排序
    求一个数任意位的值及位数
    基数排序
    面试题:最长回文子串(即求对称字符串的最大长度 )
    数据结构之后缀数组suffix array
  • 原文地址:https://www.cnblogs.com/zhanjun/p/2756430.html
Copyright © 2011-2022 走看看