Session总结

1.使用Session验证用户登录

          在ASP.NET中,利用Session对象验证用户是否登录的方法很简单,例如在本实例中,当用户安全登录时,可以利用如下代码保存用户的登录名,并跳转到NavigatePage.aspx中。       

     if (txtName.Text == "mr" && txtPassword.Text == "mrsoft") 
      {  
               Session["UserName"] = txtName.Text.Trim(); 
               Response.Redirect("NavigatePage.aspx"); 
       }

          在NavigatePage.aspx页面中,当页面加载时,首先判断Session对象中是否有值,如果有值,则进行其他操作;否则,则返回到登录页中。其主要代码如下:

      if (Session["UserName"] == null) 
          {

               Response.Redirect("Default.aspx");

          }
          else 
          { 
               //其他操作 
          }

       注意:Session对象默认失效期为20分钟,用户也可以在Web.Config中对其进行设置,其代码如下:

        <system.web> 
               <sessionState  timeout="40" /> 
        </system.web>

2.使用Session对象在页面之间传值

         使用Session对象可以在页面之间传值,但是需要注意的是不能在Session对象中存储过多的数据,否则服务器会不堪重负,另外当不再需要seesion对象时,应及时释放该对象。

         例如,使用Session对象来传送用户的登录名,在另一页中,将用户的登录名显示出来。

         使用Session对象保存用户登录名的代码如下:

       Session.Remove("UserName"); 
       Session["UserName"] = txtName.Text; 
       Response.Redirect("NavigatePage.aspx");

         在NavigatePage.aspx页面中,将Session对象的值显示在界面上,其代码如下:

      if (Session["UserName"] == null) 
       { 
              Response.Redirect("Default.aspx"); 
       } 
      else 
        { 
              Label1.Text =Session["UserName"].ToString(); 
        }

三 、session与cookie的区别

Session是存在服务器端的;而Cookie是存在客户端的!!

  Session更不需要Cookie来支持和不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全!

  Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间。

四 、

IE中:

  有效的窗口包括

  1.Session对象只在建立Session对象的窗口中有效。

  2.在建立Session对象的窗口中新开链接的窗口

  无效的窗口包括

  1.直接启动IE浏览器的窗口

  2.不是在建立Session对象的窗口中新开链接的窗口

  NetScape中:

  只要一个窗口有了某个Session对象,则全部窗口对此Session都有效

  Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。

  这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有 SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。

  除了SessionID,在每个Session中还包含很多其他信息。但是对于编写ASP或ASP.NET的程序与来说,最有用的还是可以通过访问 ASP/ASP.NET的内置Session对象,为每个用户存储各自的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值