Session

Session 对象用于存储用户的信息。存储于 session 对象中的变量持有单一用户的信息,并且对于一个应用程序中的所有页面都是可用的。

   Session 对象

  当您操作某个应用程序时,您打开它,做些改变,然后将它关闭。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。但是在因特网上有一个问题:由于 HTTP 地址无法存留状态,web 服务器并不知道您是谁以及您做了什么。

  ASP 通过为每位用户创建一个唯一的 cookie 的方式解决了这个问题。cookie 被传送至客户端,它含有可识别用户的信息。这种接口被称作 Session 对象。

  Session 对象用于存储关于用户的信息,或者为一个用户的 session 更改设置。存储于 session 对象中的变量存有单一用户的信息,并且对于应用程序中的所有页面都是可用的。存储于 session 对象中的信息通常是 name、id 以及参数。服务器会为每个新的用户创建一个新的 Session,并在 session 到期时撤销掉这个 Session 对象。

   Session 开始于:

  • 当某个新用户请求了一个 ASP 文件,并且 Global.asa 文件引用了 Session_OnStart 子程序时;
  • 当某个值存储在 Session 变量中时;
  • 当某个用户请求了一个 ASP 文件,并且 Global.asa 使用 <object> 标签通过 session 的 scope 来例示某个对象时;

 Session 何时结束?

假如用户没有在规定的时间内在应用程序中请求或者刷新页面,session 就会结束。默认值为 20 分钟。

如果您希望将超时的时间间隔设置得更长或更短,可以设置 Timeout 属性。

设置 5 分钟的超时时间间隔:<%Session.Timeout=5%>

要立即结束 session,可使用 Abandon 方法:<%Session.Abandon%>

 存储 session 变量   Session["username"]="Donald Duck";

 取回 session 变量  Response.Write(Session["username"]);

   移除 session 变量  Session.Contents.Remove("username");

                Session["UserName"] = u.UserName;//Session传值赋值
                Session.Timeout=//Session传值5分钟后过期
                Response.Redirect("Index.aspx");//Session传值跳转

存储Session变量

            if (Session["UserName"] != null)
            {
                string un = Session["UserName"].ToString();//Session全局传值
                Users u = new UsersData().select(un);
                if (u != null)
                {
                    Label1.Text = u.PName + ",欢迎回来!";
                }
                else
                {
                    Response.Redirect("Login.aspx");
                }
            }
            else
            {
                Response.Redirect("Login.aspx");
            }

取回Session变量

        Session.Contents.Remove("UserName");

移除Session变量

Cookie

cookie 常用来对用户进行识别。cookie 是一种服务器留在用户电脑中的小文件。每当同一台电脑通过浏览器请求页面时,这台电脑也会发送 cookie。通过 ASP,您能够创建并取回 cookie 的值。

  会话Cookie(临时)清除方法:

    1、浏览器一关,此次访问一中断

    2、没有任何新的提交,20分钟过期

    3、手动清除浏览器Cookie

   持久Cookie清除方法: 

    1、代码设置过期

    2、手动清除浏览器Cookie

创建 cookie

Response.Cookies["username"].Value = s;

取回 cookie 的值

string s = Request.Cookies["username"].Value;

设置cookie的过期时间

Response.Cookies["username"].Expires =DateTime.Now.AddDays(3);

设置cookie失效

Response.Cookies["username"].Expires = DateTime.Now.AddDays(-10);


                Response.Cookies["UserName"].Value = u.UserName;//Cookie传值跳转
                Response.Cookies[);//设置Cookie过期时间,不设置默认临时,关闭后或20分钟无操作失效
                Response.Redirect("Index.aspx");//Cookie传值跳转

创建 cookie

            if (Request.Cookies["UserName"] != null)
            {
                string un = Request.Cookies["UserName"].Value;//Session全局传值
                Users u = new UsersData().select(un);
                if (u != null)
                {
                    Label1.Text = u.PName + ",欢迎回来!";
                }
                else
                {
                    Response.Redirect("Login.aspx");
                }
            }
            else
            {
                Response.Redirect("Login.aspx");
            }

取回 cookie 的值

        Response.Cookies[);

设置cookie失效



PS:跳转后地址栏不变  Server.Transfer("Default2.aspx);
												

Session、Cookie--2017年1月3日的更多相关文章

  1. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

  2. [转载]Ubuntu17.04(Zesty Zapus)路线图发布:2017年4月13日发布

    Canonical今天公布了Ubuntu 17.04(Zesty Zapus)操作系统的发布路线图,该版本于今年10月24日上线启动,toolchain已经上传且首个daily ISO镜像已经生成.面 ...

  3. 2017年1月5日 星期四 --出埃及记 Exodus 21:31

    2017年1月5日 星期四 --出埃及记 Exodus 21:31 This law also applies if the bull gores a son or daughter.牛无论触了人的儿 ...

  4. 2017年1月4日 星期三 --出埃及记 Exodus 21:30

    2017年1月4日 星期三 --出埃及记 Exodus 21:30 However, if payment is demanded of him, he may redeem his life by ...

  5. 2017年1月3日 星期二 --出埃及记 Exodus 21:29

    2017年1月3日 星期二 --出埃及记 Exodus 21:29 If, however, the bull has had the habit of goring and the owner ha ...

  6. 2017年1月2日 星期一 --出埃及记 Exodus 21:28

    2017年1月2日 星期一 --出埃及记 Exodus 21:28 "If a bull gores a man or a woman to death, the bull must be ...

  7. 2017年1月1日 星期日 --出埃及记 Exodus 21:27

    2017年1月1日 星期日 --出埃及记 Exodus 21:27 And if he knocks out the tooth of a manservant or maidservant, he ...

  8. 2017年1月8日 星期日 --出埃及记 Exodus 21:34

    2017年1月8日 星期日 --出埃及记 Exodus 21:34 the owner of the pit must pay for the loss; he must pay its owner, ...

  9. 2017年1月7日 星期六 --出埃及记 Exodus 21:33

    2017年1月7日 星期六 --出埃及记 Exodus 21:33 "If a man uncovers a pit or digs one and fails to cover it an ...

  10. 2017年1月6日 星期五 --出埃及记 Exodus 21:32

    2017年1月6日 星期五 --出埃及记 Exodus 21:32 If the bull gores a male or female slave, the owner must pay thirt ...

随机推荐

  1. AngularJS Scope(作用域)

    1. AngularJS Scope(作用域) Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Sc ...

  2. Hello session

    1. session 随想 HTTP 的无状态,也就是说,每次请求都是独立的线程.这里所说的无状态其实就是一种隔离的意思.举个例子比如购物车,你先选择A商品,加入购物车,这里就是A线程,然后在选择B商 ...

  3. haproxy利用ACL规则封禁自定义IP地址拒绝访问

    现在有一个需求就是在发版的时候希望除公司IP外的外网访问服务的时候都是拒绝访问的 现在利用haproxy 的acl规则作出限制 errorfile       403 /etc/haproxy/err ...

  4. VS2013编译google protobuf 出现问题error C3861: “min”:

    问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\pro ...

  5. java+jsp+servlet实现分页

    web.xml配置: <servlet> <servlet-name>abc</servlet-name> <servlet-class>test.pa ...

  6. css-列表或标题的多级计数

    利用css实现多级计数,比如1/1.1/1.1.1这种层层嵌套的计数,主要利用到counter-reset/counter-increment/counter/content/:before. 一.标 ...

  7. jQuery文件上传插件Uploadify(转)

    一款基于flash的文件上传,有进度条和支持大文件上传,且可以多文件上传队列. 这款在flash的基础上增加了html5的支持,所以在移动端也可以使用. 由于官方提供的版本是flash免费,html5 ...

  8. HiShop2.x版本中的上传插件分析,得出所用的模板语言为Underscore.js 1.6.0且自己已修改

    效果: 上传组件非常的酷,但是分析其使用JS写法使用了模板语言的,代码如下: <script type="text/j-template" id="tpl_popb ...

  9. AWS Lambda

    AWS Lambda 知识点总结 参考资料:Amazon 名词解释: 事件驱动型计算服务:通过事件来触发的计算服务 Amazon S3存储桶:一项面向Internet的存储服务,可以通过S3 随时在W ...

  10. winform总结3> 有趣的bat/winform程序完成自己的任务,然后把自己删除

    在winform的开发过程中往往会有这样的应用场景,执行完成某任务之后,程序需要把本身删除掉.比如卸载.分享一个比较简单实现. 思路就是利用批处理,关闭文件后执行bat,bat执行删除主文件,然后删除 ...