asp.net六大对象

5 篇文章 0 订阅

asp.net为了方便用户使用提供了几个不用实例化就可以直接使用的对象,我们大家都称之为内置对象,其实严格的讲asp.net没有内置对象的说法,借用了JSP的说法才成为内置对象,其实是page类的属性(大家可以通过转到定义发现,Cookie不是哦);常用的内置对象有:response,request,application,server,cookie,session;

Request

获取请求的页的 System.Web.HttpRequest 对象。
常用属性:

属性名值类型说明
ApplicationString获取请求资源在网站上的跟路径
ContentEncodingEncoding设置请求对象编码
CookiesHttpCookieCollection发送到服务器Cookie的集合
QueryStringNameVauleCollection获取请求的字符串集合
UrlReferrerUri获取由哪个URL跳转到当前页

Response

获取与该 System.Web.UI.Page 对象关联的 System.Web.HttpResponse 对象。 该对象使您得以将 HTTP 响应数据发送到客户端,并包含有关该响应的信息;
通俗的说就是每次客户端发出一个请求,服务器就会用一个响应对象来处理这个请求,处理完之后服务器就会销毁这个对象,来等待其他客户端的请求。
常用属性:

属性名值类型说明
Charsetstring表示输出流所使用的字符集
ContentLengthint输出流的长度
ContentEncodingEncoding编码方式
CookiesHttpCookieCollection服务器发送到客户端的Cookie集合
OutPutTextWriter服务器响应对象的字符输出流
RedirectLocationstring当前请求重定向

常用方法:AppendCookie();Clear();Close();End();Redirect();

Server

server对象是用于获取服务器相关信息的。
常用属性

属性名值类型说明
MachineNamestring获取服务器的计算机名称
ScriptTimeoutint获取和设置请求超时值(以秒计)

常用方法:

方法名返回类型说明
CreateObjectObject创建 COM 对象的服务器实例
Executevoid在当前请求的上下文中执行指定虚拟路径的处理程序
HTMLDecodestring解码
HTMLEncodestring对字符串进行 HTML 编码
urlDecodestring对路径字符串解码
URLEncodestring对路径字符串编码
MapPathstring获取指定相对路径在服务器上的物理路径

Session

  1. why
    web的核心是服务器,客户端向服务器发送请求就会收到一个服务器的响应,但是如果访问的页面需要权限,密码需要重复输入吗?

  2. what
    session就是来保存和记录用户的相关信息的一个具有生命周期的保存在服务器端的对象

  3. how
    在客户端需要的时候在服务器创建Session,不用的时候在销毁以减少内存消耗

  4. 例子

//创建session:
Session["username"]="Charles";
//获取session
string username=(string)Session["username"];//这里用到了强制转换,顺便提一句session可以存储任意类型的数据,只要取的时候转化就行了
  1. why
    与session对应,session解决了服务器端的问题,但是每次登录都要重新输入账户名和密码也是很烦人的,大家都希望网页能记住密码
  2. what
    Cookie是用来保存在客户端的用户信息和数据的对象
  3. how
    • 客户端发送请求的时候把Cookie发送到服务器,服务器响应的时候同样把cookie发送到客户端保存
    • 生命周期:可以手动设置,可以设置为永久
    • 一个网站中可以有多个Cookie,通过名称来区分
  4. 例子
//同样以姓名信息来举例,设置cookie就是在服务器响应对象Response的Cookie集合中增加Cookie的实例,然后通过response发送会客户端
HttpCookie namecookie=new HttpCookie("username","Charles");
Response.Cookies.Add(namecookie);
//获取
string username=Request.Cookies["username"].Value;

Application

  1. why
    已经分析了两种保存用户信息的工具了,但是我们发现这些信息都是针对某个人的信息,一个用户对应一个特定Cookie或Session,服务器不会根据特定的键值对对应错误;但是我们需要保存一些共有的信息怎么办呢?比如这个视频的浏览次数?我们还缺一个全局变量。
  2. what
    Application就是用来保存在服务器上公共信息的对象
  3. how
    咱们都学过数据库原理和操作系统原理,简单的说类似于数据库里面的并发控制和OS里的死锁那一块,关于访问公共信息问题,都有类似的答案。与加锁和PV操作同样的这里用到了

    Application.Lock() ;//加锁
    Application(“键名”) = 值 ;//读值
    Application.Unlock();//解锁
    //注意这里加锁和解锁都是成对出现的
    
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值