首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > 跟踪用户会话
【标  题】:跟踪用户会话
【关键字】:
【来  源】:http://www.cnblogs.com/QiuYun/archive/2007/04/11/708235.html

跟踪用户会话

    由于浏览器是无状态的,及浏览器无法保存用户的一些信息,在asp.net中采用以下几种机制来保存用户状态

    一.使用浏览器的Cookie(Cookie只能保存字符窜)
 
 1.Cookie
 片列Cookie:
 foreach(string strKey in Request.Cookies)
 {
     string strValue = Request.Cookies[strKey].Value;
     Response.Write("<li>" + strKey + "=" +strValue +"</li>");
 }
 a.临时性的Cookie:又称会话Cookie,只保存在浏览器的内存中。当浏览器关闭的时消失。
            创建方法
  Response.Cookies["test0"].Value = "CHN";
  Response.Write(Response.Cookies["test0"].Value);
 b.持久性的Cookie:可以保持较长的一段时间,是保存在客户端硬盘上的。
     创建方法
  HttpCookie objCookie = new HttpCookie("test" , "CHN_Auberon");
  objCookie.Expires    = Convert.ToDateTime( "2009-4-5" );
  Response.Cookies.Add(objCookie);
 
 2.Cookie的属性
     a.Domain   ---- 与Cookie关联的域名:比如,cnblogs.com
     b.Expires  ---- Cookie的过期时间
     c.HasKeys  ---- 一个表示Cookie是否一个Cookie字典的bool值
     d.Name     ---- Cookie的名称
     e.Path     ---- 与Cookie关联的路径
     f.Secure   ---- 表示是否能通过加密的链接来发送Cookie的值。默认为flase
            g.Value    ---- 表示Cookie的值
       h.Values   ---- 一个表示存储在Cookie字典中的所有健(key)和值(value)对的NameValueCollection

    二.使用会话状态(Session)
 
 在默认状态下,当用户第一次访问ASP.NET的web站点的页面时,该Web站点就自动把一个会话Cookie添加到用户的浏览器。这个Cookie

名为_ASP.NET_SessionID,会为该用户以后访问这个Web站点来跟踪用户。

 1.使用Session注意的几点 
     a.添加到会话章台的任何项在用户访问Web站点期间会一直存在,一直到用户关闭浏览器,或者用户超过20分钟还没有再次访问页

面。
     b.Session是存在与服务器的内存中的,并且每个用户的Session不同。
     c.Session可以存储任何数据类型,并且大小不受限制。

 2.处理会话事件(在Global.asax文件中)
    
            Session_Start:会话开始时候
     Session_End:会话结束(正常关闭浏览器或者会话超时时),可以用Session.Abandon()方法来结束会话。
 
 3.禁止Session可以用Page.EnableSessionState=fasle来实现。

    三.不依赖于Cookie的会话(将Cookie放到Url中...)
 
 设跟踪会话置Web.Config
  <configuration>
   <system.web>
    <sessionState cookieless="true" />
   </system.web>
  </configuration>

 限制:当跳转URL的时候只可以用相对路径
 如:
  <a href="xx.aspx">xx</a>
  <a href="yy/xx.aspx">xx</a>
  <a href="../xx.aspx">xx</a>
 上面的几个链接跳转正常
  <a href="/xx.aspx">xx</a>
  <a href="http://xx.aspx">xx</a>
 这两个链接跳转会丢失会话状态。

PowerDesigner教程系列(四)概念数据模型:【上一篇】
WebService开发(二) 如何使用Soap扩展:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 向 Spring.Net 提交的建议被采纳并实现了
  • 2口1000BASE-T千兆模块
  • 关于serv-u ftp管理员帐号在命令行下登陆可建里系统(win)帐号问题
  • JavaScript和DOM的绑定简单例子
  • 不得不看 个人网站的三大危机
  • 学习RichTextBox
  • Win32Asm快速教程(12)
  • Solaris 网络应用配置
  • gcc与g++
  • 新超频王诞生 赛扬2.0GHz完全解析和评测
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.