关于session

    在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。


一、关于session的demo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class demo1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(Session ["userInfo"]!=null)
        {
            Label1.Text ="当前登陆的是考务人员,用户名为:"+(string)Session ["userInfo"];
        }
        else
        {
            Label1.Text = "当前登录的是考生,用户名为:" + (string)Session["userInfo"];
        }
    }
    protected void redirectPath(string userRole, string loginName, string password)
    {
        if (userRole.Equals ("考务人员"))
        {
            string userInfo = loginName;
            if (loginName =="")
            {
                Label1.Text = "<div class='label1'>账号密码不能为空</div>";

            }
            else 
            {
                if (Session ["userInfo"]==null)//用session做判断
                { 
                    Session["userInfo"] = userInfo; //给session赋值
                }
                else
                { 
                    userInfo = (string)Session["userInfo"]; //用session给变量赋值
                }
            }
           //Response.Redirect("Default.aspx");
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if(Label2 .Text =="考务人员")
        {
            redirectPath("考务人员",TextBox1 .Text,TextBox2.Text);
        }
    }
}


    在一个系统中有很多信息需要保存,以便后续使用,特别是个人信息登录的时候。学会使用Session来保留个人信息,对Session做判断,对Session赋值,用Session给变量赋值等这些方式是很方便的。


二、关于session拓展

首先cookie 和session 的区别:

    1)cookie数据存放在客户的浏览器上,session数据放在服务器上。

    2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

    3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。

    4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

    5)所以个人建议:

       将登陆信息等重要信息存放为SESSION

       其他信息如果需要保留,可以放在COOKIE中


三、总结思考

    我感觉在权限登陆的时候蛮好用的,因为你可以暂时保存这些信息。经常我们在登陆网站之后上面写着:某某某已登录。这个就可以用于session写着。


原文地址:https://www.cnblogs.com/tanqianqian/p/5975033.html