Response (应答)对象

Request 对象。用于在HTTP请求期间,訪问不论什么client浏览器传递给server的信息,包含通过URL传递的參数信息、使用GET方法或POST方法传递的HTML表单数据、Cookie和用户认证信息等。

页面重定向,并传递參数(防乱码处理)

Response.Redirect("~/modifyReader.aspx?key="+ Server.UrlEncode(key));

Cookie的存储

  • 通过Response对象的Cookie集合存储。

<span style="font-size:24px;"><span style="white-space:pre">	</span>Response.Cookies["username"].Value= "徐凤竹";</span>

  • 通过HttpCookie对象的实例存储。

<span style="font-size:24px;"><span style="white-space:pre">	</span>HttpCookiecookie = new HttpCookie("username","徐凤竹");
<span style="white-space:pre"> </span>Response.Cookies.Add(cookie);</span>

  • 多值Cookie的存储。

    • <span style="font-size:24px;">Response.Cookies["LoginInfo"]["username"] = "徐凤竹";
      Response.Cookies["LoginInfo"]["password"]= "123456";</span>
  • <span style="font-size:24px;">    HttpCookie cookie = new HttpCookie("LoginInfo");
    cookie.Values ["username"]="徐凤竹";
    cookie.Values["password"]= "123456";
    Response.Cookies.Add(cookie);</span><span style="font-size:18px;">
    </span>

缓冲页面输出

Response 对象的Buffer属性用于指定是否缓冲页面输出。假设缓冲页输出,仅仅有当页面的全部server脚本处理完成。或者Flush、End方法被调用,server才将输出发送给client。

Buffer属性必须在不论什么输出之前进行设置,也就是说,应该在.asp文档的首行调用Response.Buffer。当server将信息发送给client就不能再设置Buffer属性了。

Server 对象语法

Server 对象的语法格式:

Server[.property|method]

语法说明:

  • property。对象的属性(ScriptTimeout属性,指定脚本超时期限)。
  • method,方法
    • CreateObject,创建组件对象、
    • HTMLEncode,对字符串进行HTML编码。
    • MapPath,将相对路径或虚拟路径映射成server上的物理路径。

    • URLEncode,对字符串进行URL编码。

Session (会话)对象

Session 对象能够用于存储特定的用户会话所需的信息。

这样。当用户在应用程序的页面之间跳转时,存储在session对象中的变量不会丢失。而是在整个会话中始终存在。

当用户请求来自应用程序的web页时。假设该用户还没有会话,则webserver将自己主动创建一个session对象。当会话过期或被放弃后。server将终止该会话。

我们希望后台管理在多长时间没有操作的情况下,让session失效。又一次登录,能够使用session.timeout=5,以分钟为单位,表示5分钟之内没有其它操作,就失效,或者在配置文件里配置<sessionStatetimeout="5" mode="InProc" />也能够。

简单说说session的几个方法的差别:

Session.clear():表示将会话中全部的session的键值都清空,可是session还是依旧存在,同等于Session.RemoveAll()

Session[“admin”]=null:表示将制定的键的值清空,并释放掉,和session[“admin”]=””不一样,它清空了。可是session不释放,同等于session.Remove(“name”);

Session.Abandon()就是把当前Session对象删除了。下一次就是新的Session了。

基本的不同之处在于当使用Session.Abandon时,会调用Session_End方法(InProc模式下)。当下一个请求到来时将激发Session_Start方法。而Session.Clear仅仅是清除Session中的全部数据并不会中止该Session。因此也不会调用那些方法,Abandon方法用于主动结束会话。若没有调用该方法,当会话超时后,也会自己主动结束当前会话。

补充:

清除cookie

A、

<span style="font-size:24px;">tpCookie cookie =System.Web.HttpContext.Current.Request.Cookies.Get("tuser");
cookie.Expires =DateTime.Now.AddDays(-1);
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);</span>

B、

<span style="font-size:24px;">tpCookie httpCookie =Request.Cookies["httpCookie"];
httpCookie.Expires =DateTime.Now.AddDays(-1);
Response.Cookies.Add(httpCookie);</span>

AB两种方法都能够

Session 与Cookie的差别

  • Session是存在server端的;而Cookie是存在client的。
  • Session更不须要Cookie来支持和不会受浏览器端的设置影响,可记录每一个訪问者的信息,独立在server端。比Cookie安全。
  • Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,能够改动其“存活”时间。

Application (应用程序)对象

使用Application对象能够在应用程序的全部用户之间进行数据信息共享,并在server执行期间持久的保存数据。

Application 对象的语法格式:

Application[.collection|method](variable)

语法说明例如以下:

  • collection,对象的集合。

    • Contents 。获取应用程序中的静态对象
    • StaticObject ,获取应用程序中的静态对象。
  • method,对象方法。

    • Lock ,锁定应用程序对象。

    • Unlock 。解锁应用程序对象 。
  • variable,对象的成员变量。

此外。Application对象还包含Application_OnStart(应用程序開始)和Application_OnEnd(应用程序结束)等两个事件,这两个事件都必须放在Global.asa文件里。

在应用程序中共享数据

Application 对象的Contents集合和StaticObjects集合包括应用程序中全部的共享信息数据,与Session对象的对应集合基本类似。

安全地共享数据

由于多个用户能够共享Application 对象,所以须要Lock方法和Unlock方法以确保多个用户无法同一时候更改Application 对象。

Lock方法用于阻止其它用户改动存储在Application 对象中的对象,以确保在同一时刻仅有一个用户能够改动和存取Application 对象。

Unlock 方法用于解除使用Lock方法锁定的Application 对象。之后其它用户才干够对该Application 对象中的对象进行訪问。假设用户没有显示的调用Unlock方法,则server将在ASP文件结束或超时后,解除对Application 对象的锁定。

<span style="font-size:24px;">Application.Lock
Application.Unlock</span>

总结

  • ASP内置对象
  • Request 对象。包含读取验证字段信息、读取Cookie数据、读取表单或URL传递的数据、读取server环境变量等内容。
  • Response 对象,包含写入Cookie数据、缓冲页面输出、页面重定向、将数据输出到页面等内容。

  • Server 对象。包含脚本超时期限、创建组件对象、对字符串进行HTML或URL编码、映射到server物理路径等。
  • Session 对象,包含读取会话中的数据、读取会话标识、删除会话对象等内容。
  • Application 对象,包含在应用程序中共享数据、安全地共享数据等内容。

最新文章

  1. [个人论文]一种基于GPU并行计算的MD5密码解密方法
  2. cglib动态新增类方法
  3. 数据结构《21》----2014 WAP 初试题----Immutable queue
  4. storm基础系列之二----zookeeper的作用
  5. win7 部署WCF遇到的问题记录
  6. setTimeout和setinterval的区别
  7. node debug包
  8. POJ 1978
  9. 最全的Android源码目录结构详解(转)
  10. Android下将图片载入到内存中
  11. head,tail,cat,more,less
  12. 搭建ftp服务器实现文件共享
  13. 程序员的入门 简单的编程HelloWord
  14. Flagr 配置说明
  15. log4j.appender.file.DatePattern
  16. Android i2c-tools移植
  17. M1事后分析报告--We have power to change the origin state
  18. 使用hex编码绕过主机卫士IIS版本继续注入
  19. MUI Hbuilder设置模拟器运行APP项目
  20. xpath-grab english name

热门文章

  1. Spark常见编程问题解决办法及优化
  2. [Apple开发者帐户帮助]一、开始(3)账户信息
  3. [Apple开发者帐户帮助]一、开始(1)关于您的开发者帐户
  4. Appium + python -小程序实例
  5. JavaScript学习三
  6. Java中的常用类有哪些
  7. 自学Python十一 Python爬虫总结
  8. ListView使用、ListView优化和遇到的问题
  9. Deutsch lernen (12)
  10. react基础篇二