首页 技术 正文
技术 2022年11月14日
0 收藏 987 点赞 3,332 浏览 2443 个字

Session:每个独立的浏览器都会创建一个独立的Session,不是一台电脑一个Session

存放位置:服务器上

作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量

优点:安全,速度快,全局访问无限制

缺点:消耗服务器内存资源

特性:Session在20分钟之内如果没有会话操作,则会自动释放

注意:1、不要存大量数据在Session里
2、临时Session取完无用后记得 = null清空它

语法:(1)用Session存值:Session[“key名”] = 值;      值,不只是个字符串,可以是对象。   

        string a = "abcde";
Session["aa"] = a;

    (2)从Session取值:类型 变量名 = (强制转换的类型名)Session[“key名”]   

if (Session["aa"] != null)
{
Label1.Text = Session["aa"].ToString();
}

    (3)释放Session:释放某个Session:Session[“key名”]=null;

          释放所有Session:Session.clear();

          自动释放:20分钟

案例

登录界面,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间

I,登录界面Default.aspx

protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Length > && TextBox2.Text.Length > )
{
Session["user"] = TextBox1.Text;
Response.Redirect("Default2.aspx");
}
}

II,显示页面Default2.aspx

protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)//用户名为空,跳转到登陆界面
{
Response.Redirect("Default.aspx");
} if (Session["test"] == null)
{
Session["test"] = DateTime.Now.ToString();
} Label1.Text =" 欢迎您:"+Session["user"].ToString()+"<br/>"; Label1.Text +="&nbsp;" + Session["test"].ToString();
}

Cookie:保存在客户端内存或硬盘上

临时Cookie是存在浏览器内存中的,持久Cookie是存在电脑硬盘上浏览器相关的Cookie目录下的

作用:保存数据信息,只能保存字符串,全局访问

会话Cookie
1、浏览器一关,此次访问一中断
2、没有任何新的提交,20分钟过期
3、手动清楚浏览器Cookie

持久Cookie
1、代码设置过期
2、手动清楚浏览器Cookie

设置Cookie

//新建Cookie对象
HttpCookie cookie_name = new HttpCookie(“uid”);
//赋值
cookie_name.Value = uid;
//写入到Cookie里面
Response.AppendCookie(cookie_name);

用Cookie存值:Cookie[“key名”] = 值;      值,只能是是个字符串。

        string uid = "abcde";
Response.Cookies["aa"].Value = uid;

在使用界面:读取Cookie
Request.Cookies[“uid”].Value.ToString();

        if (Request.Cookies["uid"] != null)
{
Label1.Text = Request.Cookies["uid"].Value;
}

案例

登录界面可选择保持登录状态3天,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间

I,登录界面Default.aspx

protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
{
      Response.Cookies["user"] = TextBox1.Text; 

       if(CheckBox1.Checked)
        {
          Response.Cookies[“user”].Expires = DateTime.Now.AddDays(3);
        }          

      Response.Redirect("Default2.aspx");
     }
  }

II,显示页面Default2.aspx

protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)//用户名为空,跳转到登陆界面
{
Response.Redirect("Default.aspx");
} if (Session["test"] == null)
{
      Request.Cookies["test"].Value = DateTime.Now.ToString(); 
     }
    Label1.Text =" 欢迎您:"+Request.Cookies["user"].Value.ToString()+"<br/>";
    Label1.Text +="&nbsp;" +Request.Cookies["test"].Value.ToString(); }

跳转页面方式:

1.Response.Redirect(“http://www.baidu.com”);重定向,可以跳转任何网页
2.Server.Transfer(“Main.aspx”);只能跳转该网站根目录下的网站

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,028
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,367
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,858