011. asp.net内置对象
Response对象:
Response代表了服务器响应对象, 主要用于将数据从服务器发送回浏览器; 每次客户端发出一个请求的时候,服务器就会用一个响应对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个相应对象,以便继续接受其它客服端请求. Response对象允许将数据作为请求的结果发送到浏览器中, 并提供有关相应的信息. 它可以用来在页面中输入数据, 在页面中跳转以及传递各个页面的参数. 与HTTP协议的响应消息相对应.
Response常用属性如下: |
||
属性名 |
值类型 |
说明 |
Buffer |
bool |
获取或设置一个值,该值指示是否缓冲输出并在处理完整个响应之后发送它 |
Cache |
HttpCachePolicy |
获取网页的缓存策略(例如:过期时间、保密性设置和变化条款), 包含与当前响应的缓存策略有关的信息的 System.Web.HttpCachePolicy 对象 |
Charset |
string |
设定或获取HTTP的输出字符集编码, 告诉客户端如何显示. 也就是说在浏览器中如何显示 |
Expires |
Int(web页过期之前的分钟数) |
获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户在页面过期之前返回到该页,则显示缓存的版本。提供 System.Web.HttpResponse.Expires是为了与 ASP 的早期版本兼容。 |
BufferOutput |
Bool 返回结果:如果缓冲发送给客户端的输出,则为 true;否则为 false。默认值为 true。 |
获取或设置一个值,该值指示是否缓冲输出, 并在处理完整个web页面后将其发送; |
Cookies |
HttpCookieCollection |
服务器发送到客户端的Cookie集合 |
IsClientConnected |
Bool如果客户端当前仍在连接,则为 true;否则为 false |
获取一个值,通过该值指示客户端是否仍连接在服务器上。 |
SuppressContent |
Bool |
获取或设置一个值,该值指示是否将 HTTP 内容发送到客户端 |
ContentEncoding |
Encoding |
获取或设置输出流的 HTTP 字符集编码, 标识输出的内容是如何编码的. |
ContentType |
string |
输出流的 HTTP MIME 类型。默认值为“text/html” |
Output |
TextWriter |
服务器响应对象的字符输出流,支持到客户端的自定义输出的 System.IO.TextWriter 对象 |
RedirectLocation |
string |
获取或设置 Http Location 标头的值. |
Response常用方法如下 |
||
Redirect(string url, bool endResponse) |
Void |
页面跳转, 将客户端重定向到新的 URL。指定新的 URL 并指定当前页的执行是否应终止。 |
AppendHeader(string name, string value); |
Void |
将 HTTP 头添加到输出流。 name: 要添加到输出流的 HTTP 头的名称。 value:要追加到头中的字符串。 提供 System.Web.HttpResponse.AddHeader(System.String,System.String) 是为了与 ASP 的早期版本兼容 |
AppendToLog(string param) |
void |
将自定义日志信息添加到 Internet 信息服务 (IIS) 日志文件。 param:要添加到日志文件的文本。 |
Clear() |
void |
清除缓冲区流中的所有内容输出 |
End(); |
void |
停止该页的执行,并将当前所有缓冲的输出发送到客户端,并引发 System.Web.HttpApplication.EndRequest 事件 |
Flush(); |
void |
向客户端发送当前所有缓冲区中的内容 |
Write(char ch) |
void |
将一个字符写入 HTTP 输出到客户端浏览器中 ch:要写入 HTTP 输出流的字符。 三种重载 (object string char) |
WriteFile(string filename); |
void |
将指定文件的内容直接写入 HTTP 响应输出流 filename:要写入 HTTP 输出的文件名(四个重载) Response.WriteFile(Server.MapPath(filePath)) Server.MapPath()//获取filePath在磁盘上的物理路径 |
SetCookie(HttpCookie cookie); |
void |
更新 Cookie 集合中的一个现有 Cookie。 cookie:集合中要更新的 Cookie. |
Close(); |
void |
关闭服务器到客户端的(套接字)连接 |
Request对象:
Request是一个请求对象, 封装了客户端请求信息; 该对象是HttpRequest类的一个实例, 用于提供对当前页请求的访问, 其中包括标题, Cookie, 查询字符串等, 用户可以使用此类来读取浏览器已经发送的内容, 当用户打开web浏览器, 并从网站请求Web页面时, Web服务器就会收到一个请求(Request), 其中包含用户, 用户的计算机, 页面以及浏览器的相关信息, 这些信息被完整地封装, 并在Request对象中可以使用. 这些信息都是通过Request对象一次性提供的.
Request对象的常用属性:
属性名 |
值类型 |
说明 |
ApplicationPath |
String |
获取请求的资源在网站上的根路径(返回当前应用程序的虚拟路径) |
AcceptTypes |
string[] |
获取客户端支持的 MIME 接受类型的字符串数组。 返回结果:客户端支持的 MIME 接受类型的字符串数组。 |
Browser |
HttpBrowserCapabilities |
获取或设置正在请求的客户端的浏览器功能的有关信息。 返回结果:列出客户端浏览器功能的 System.Web.HttpBrowserCapabilities 对象 //Request.Browser.Platform; //浏览器使用的系统平台 //Request.Browser.Type; //浏览器名称和主版本号 (整数) //Request.Browser.Version; //浏览器的完整版本号(整数/小数) |
ContentEncoding |
Encoding |
获取或设置请求时提交内容的编码 |
ContentLength |
int |
指定客户端发送的内容长度(以字节计) 返回结果: 客户端发送的内容的长度(以字节为单位)。 |
Cookies |
HttpCookieCollection |
获取客户端发送到服务器的Cookie集合 |
FilePath |
string |
获取当前请求的虚拟路径 |
Files |
HttpFileCollection |
获取采用多部分 MIME 格式的由客户端上载的文件的集合.对象的项属于 System.Web.HttpPostedFile 类型,返回System.Web.HttpFileCollection 对象,表示客户端上载的文件集合 |
Form |
NameValueCollection |
获取窗体变量集合, 返回 表示窗体变量集合的 System.Collections.Specialized.NameValueCollection |
IsLocal |
bool |
获取一个值,该值指示该请求是否来自本地计算机。如果该请求来自本地计算机,则为 true;否则,为 false。 |
Params |
NameValueCollection |
获取 System.Web.HttpRequest.QueryString、System.Web.HttpRequest.Form、System.Web.HttpRequest.ServerVariables和 System.Web.HttpRequest.Cookies 项的组合集合。 |
Path |
string |
获取当前请求的虚拟路径 |
PhysicalPath |
string |
获取与请求的 URL 相对应的物理文件系统路径。返回当前请求的文件系统路径。 |
QueryString |
NameValueCollection |
当前请求的查询字符串变量集合, 返回 System.Collections.Specialized.NameValueCollection,包含由客户端发送的查询字符串变量的集合。 例如请求URL 为 http://www.contoso.com/default.aspx?id=44,则 System.Web.HttpRequest.QueryString的值为“id=44”。 |
UserHostAddress |
string |
获取远程客户端的 IP 主机地址。 |
UserHostName |
string |
获取远程客户端的 DNS 名称。 |
RequestType |
string |
获取或设置客户端使用的 HTTP 数据传输方法(GET 或 POST) |
UrlReferrer |
Uri |
获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL, 也就是说获取用户由哪个url跳转到当前页面 |
Request对象常用方法
MapPath(string virtualPath) |
string |
将当前请求的URL中的虚拟路径映射到服务器上的物理路径。 参数: virtualPath: 返回结果:由 virtualPath 指定的服务器物理路径。 Request.MapPath("Default.aspx"); //获取Default.aspx页面的物理路径 |
SaveAs(string filename, bool includeHeaders) |
void |
将 HTTP 请求保存到磁盘。 参数: filename:物理驱动器路径。 includeHeaders:一个布尔值,该值指定是否应将 HTTP 头保存到磁盘。 |
Application对象:
Application 对象, 是用来记录应用程序参数的对象, 主要用于共享应用程序级的信息.即多个用户共享一个Application对象, 在第一个用户请求Asp.net文件时, 将启用应用程序并创建Application对象. 一旦Application对象被创建, 它就可以共享和管理整个应用程序的信息. 在应用程序关闭之前, Application对象将一直存在. 所以Application对象是用于启动和管理ASP.net应用程序的主要对象;
Application 和 Session 存储的数据类型和存储位置一样,都是存放 Object 类型的数据(也就是任意类型),并且存放在服务器上,不同的是: Application 中的数据可以由网站中所有的用户来设置或者获取。并且 Application 中存放的数据没有时间限制,除非我们手动删除或者服务器重新启动,否则存放的数据都会丢失。
Application对象在服务器内存中存储数量较少又独立于用户请求的数据。由于它的访问速度非常快而且只要应用程序不停止,数据一直存在,我们通常在Application_Start的时候去初始化一些数据,在以后的访问中可以迅速访问和检索。
Application对象常用属性
AllKeys |
string[] |
获取 |
Count |
int |
获取 |
Application对象常用方法:
Add(string name, object value) |
void |
将新的对象添加到 参数: name: 要添加到集合中的对象名。 value:对象的值。 |
Clear(); |
Void |
从 |
Get(int index); 重载 Get(string name) |
object |
通过数字索引获取 参数: index: 应用程序状态对象的索引。 返回index 所引用的对象。 |
GetKey(int index); |
String |
通过索引获取 System.Web.HttpApplicationState 参数: index:应用程序状态对象的索引。 返回:保存应用程序状态对象所使用的名称。 |
Lock() |
void |
锁定对 Application.Lock(); Application["number"] = 2; Application.UnLock(); Lock方法可以阻止其他用户修改存储在Application对象中的变量, 以确保在同一时刻仅有一个用户可以修改和存取Application变量. 如果用户没有明确使用Unlock方法. 则服务器将在页面文件结束或超出时即解除对Application对象的锁定. Unlock方法可以使其他客户端在使用Lock方法锁住Application对象后, 修改存储在该对象中的变量. 如果未显式的调用该方法, Web服务器将在页面结束或超出后解锁Application对象. |
Remove(string name); 重载 RemoveAt(int index) |
void |
从 |
RemoveAll() |
Void |
从 |
RemoveAt(int index) |
void |
按索引从集合中移除一个 |
Set(string name, object value); |
Void |
更新 name:要更新的对象名。 value:对象更新之后的值。 |
UnLock(); |
void |
取消锁定对 |
Application对象常用事件:
//Global.asax 是一个用来处理应用程序全局的文件。打开文件,系统已经为定义了一些事件的处理方法。 void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Application["name"] = "欢迎来到***"; } void Application_End(object sender, EventArgs e) { // 在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为InProc 时,才会引发 Session_End 事件 // 如果会话模式设置为 StateServer 或 SQLServer,则不会引发该事件 } //通过这些注释可以看到,这些事件是整个应用程序的事件,和某一个页面没有关系。
Session对象常用事件:
Seesion对象用来存储跨网页程序的变量或者对象,该对象用于共享应用程序级信息,该对象只针对单一网页使用者, 也就是说服务器会为连接的客户端分配各自的Session对象, 不同的客户端无法互相存取, 当超过设置的有效事件时, Session对象就会消失.属于Page对象的成员, 可以在网页中直接使用,Session中的数据保存在服务器端,在客户端需要的时候创建Session,在客户端不需要的时候销毁Session,使它不再占用服务器内存。
在asp.net中Session的默认生命周期是20分钟,也就是当我们在9:00的时候设置了一个Session,如果在9:20之前客户端没有任何请求,那么它的生命周期就到9:20分钟结束。但是一旦用户在9:19又向服务器发送了一个请求,那么这个Session现在的生命周期就是在当前时间的基础上再加上20分钟,也就是此时这个Session的生命周期是到9:39结束。
Session具有特点:
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。
Session用法:
Session[“变量名”] = “内容”;
Name=Session[“变量名”];
Session对象的常用属性:
Contents |
HttpSessionState |
获取对当前会话状态对象的引用, 返回当前的 System.Web.SessionState.HttpSessionState |
TimeOut |
int |
获取并设置在会话状态提供程序终止会话之前各请求之间所允许的时间(以分钟为单位), 默认值20分钟, 最大值525600分钟(一年) 返回 超时期限(以分钟为单位)。 <!--在web.config文件中设置Session对象的有效时间为30分钟--> <sessionState mode="InProc" timeout="30" /> |
SessionID |
String |
获取会话的唯一标识符 |
Session对象常用的方法:
Abandon(); |
void |
结束当前会话, 并清除会话中的所有信息 |
Add(string name, object value) |
Void |
向会话状态集合添加一个新项,name: 要添加到会话状态集合的项的名称,value: 要添加到会话状态集合的项的值 |
Clear() |
void |
从会话状态集合中移除所有的键和值 |
CopyTo(Array array, int index) |
Void |
将会话状态值的集合复制到一维数组中(从数组的指定索引处开始), array: System.Array,接收会话值; index:array 中从零开始的索引,在此处开始复制 |
Remove(string name) |
void |
删除会话状态集合中的项, name: 要从会话状态集合中删除的项的名称。 |
RemoveAll() |
void |
从会话状态集合中移除所有的键和值 |
RemoveAt(int index) |
void |
删除会话状态集合中指定索引处的项,index:要从会话状态集合中移除的项的索引。 |
Cookie对象:
Cookie 对象和 Session 对象一样也是用来保存特定的用户相关的数据,不过 Session保存在服务器史昂, 而Cookie 保存在客户端中,每次客户端发出请求的时候都会把 Cookie 一起发送到服务器,服务器每次响应客户端请求的时候会重新把 Cookie 发送到客户端保存, 所以Cookie对象用于保存客户端浏览器请求的服务页面, 也可用它存放非敏感的用户信息, 信息保存的时间可以根据用户的需要进行设置. 注意: 并非所有的浏览器都支持Cookie(这其中包含人为的禁用/清除), 并且所有的数据信息是以文本的形式保存在客户端计算机里面的;
Cookie 保存数据有以下特点:
Cookie 中的数据保存在客户端;
Cookie 中只能保存字符串类型的数据,如果需要在Cookie中保存其它类型数据,需要将其转换成字符串类型后保存;
Cookie 也有其默认生命周期,也可以手动设置,最大可设置成50年之后过期。
同 Session 的情况一样,有可能在一个网站中使用到的 Cookie 不止一个,我们仍通过 Cookie 的名称来区分不同的 Cookie。
设置 Cookie 的过程就是在服务器的响应对象 Response 的 Cookie 集合中增加一个 Cookie ,Response 对象会把这个 Cookie 集合中的所有 Cookie 都发送客户端。代码如下(仍以保存用户名为例):
HttpCookie cookie = new HttpCookie("UserName", "sa");
Response.Cookies.Add(cookie);
获取 Cookie 就是从客户端的请求对象中找到对应名称的 Cookie,当然也有可能出现 Cookie 不存在的情况,所以在获取之前也需要检查指定名称的Cookie是否存在,如下:
string userName;
if (Request.Cookies["UserName"] != null)
{
userName = Request.Cookies["UserName"].Value;
}
Cookie对象的常用属性和方法:
属性名 |
值类型 |
说明 |
Expires |
DateTime |
获取或设置Cookie变量的有效时间, 默认为1000分钟; 如果设置为0, 则可实时删除Cookie变量; Expires属性必须被设置, 若没有指定, 则Cookie变量将不会被存储 System.Web.HttpCookie cookie = new System.Web.HttpCookie(); cookie.Value = "hello World"; DateTime dt = DateTime.Now; TimeSpan ts = new TimeSpan(0, 0, 0, 20); cookie.Expires = dt.Add(ts); //dt.Add 返回一个新的时间,它将指定 System.TimeSpan 的值加到此实例的值上 |
Name |
string |
获取或设置 Cookie 的名称 |
Value |
string |
获取或设置单个 Cookie变量的内容值。 |
Path |
string |
获取或设置要与当前 Cookie 一起传输的虚拟路径 System.Web.HttpCookie cookie = new System.Web.HttpCookie("test");//声明一个Cookie变量 cookie.Value = "hello World"; //赋值给这个Cookie变量 Response.Cookies.Add(cookie); //将指定的Cookie添加到此Cookie集合中 Response.Write(Request.Cookies["test"].Path);//页面输出 |
构造函数 |
||
HttpCookie(string name) |
创建并命名新的 Cookie, name表示新 Cookie 的名称 |
|
HttpCookie(string name, string value) |
创建和命名新的 Cookie,并为其赋值 |
Server对象
Server对象是用于获取服务器的相关信息的对象, 定义了一个与Web服务器相关的类, 来用于访问服务器上的资源.
Server对象的属性:
MachineName |
string |
获取服务器的计算机名称。返回,本地计算机的名称。 |
ScriptTimeout |
int |
获取和设置请求超时时间(以秒计),返回请求的超时 时间。 |
Server对象的常用方法:
Execute(string path) |
Void |
在当前请求的上下文中执行指定虚拟路径的处理程序, path:要执行的 URL 路径; 执行指定的资源, 并且在执行完成之后再执行本页的代码; |
HtmlDecode(string s) |
String |
对 HTML 编码的字符串进行解码,并返回已解码的字符串。 参数: s:要解码的 HTML 字符串。消除对特殊字符串编码的影响 |
HtmlEncode(string s) |
String |
对要在浏览器中显示的字符串进行编码;对字符串进行 HTML 编码并返回已编码的字符串 |
MapPath(string path) |
String |
获取指定相对路径在服务器上的物理路径。 path: Web 服务器的虚拟路径。返回,与 path 相对应的物理文件路径。 |
Transfer(string path) |
Void |
对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。 path:服务器上要执行的新页的 URL 路径。 |
UrlDecode(string s) |
String |
对(路径)字符串进行 URL 解码并返回已解码的字符串。 |
UrlEncode(string s) |
String |
对(路径)字符串进行 URL 编码,并返回已编码的字符串。 |
011. asp.net内置对象的更多相关文章
- 初识 Asp.Net内置对象之Response对象
Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...
- Asp.net内置对象用途说明
Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...
- 【ASP.NET 基础】ASP.NET内置对象
准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...
- ASP.NET内置对象详解
ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...
- ASP.NET内置对象一
ASP.NET提供了大量的对象类库,在这些类库中包含了许多封装好的内置对象,我们只需要直接使用这些对象的方法和属性,就能简单快速地完成很多的功能.Request对象.Response对象和Serve对 ...
- 初识 Asp.Net内置对象之Server对象
Server对象 Server对象定义了一个于Web服务器相关联的类提供对服务器上的方法和属性的访问,用于访问服务器上的资源. Server对象的常用属性 属性 MarhineName 获取服务器 ...
- ASP.NET内置对象
ASP.NET中有六个内置对象 Response:向客户端输出信息或设置客户端输出状态. Request:获取客户端信息. Server:访问服务器的方法和属性. Application:用于将信息保 ...
- ASP.NET 内置对象涉略
一.ASP.NET中内置的常用对象的介绍 本文列举了ASP.NET 的八个内置对象,其中前五个是比较常用的. 1.Response Response 对象用于从服务器向用户发送输出的结果. Write ...
- 2017-5-22 ASP六大 内置对象
ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request --- 获取请求对象 获取通过地址栏传值过来的对象 ...
随机推荐
- SQL中让某一字段更新时自动加1
update 表 set 字段名=字段名+1 where ....
- "无意义"的div和span标签
HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器.<div>元素没有特定的含义.除此之外,由于它属于块级元素,浏览器会在其前后显示折行.如果与 C ...
- YII2.0上传文件
针对于YII2.0官方手册来说,我稍微修改了一些内容具体的就是把model层里定义的uoload方法在controller方法里合并了 创建模型 namespace app\models; use y ...
- HDU 5253 最小生成树(kruskal)+ 并查集
题目链接 #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> ...
- BZOJ 3531(树链剖分+线段树)
Problem 旅行 (BZOJ 3531) 题目大意 给定一颗树,树上的每个点有两个权值(x,y). 要求维护4种操作: 操作1:更改某个点的权值x. 操作2:更改某个点的权值y. 操作3:求a-- ...
- mysql主从同步mysql slave_io_running:no的解决方案
在主从同步的时候出现slave_io_running:no 问题,于是查看mysqld.log日志,发现时1042错误 解决方案: 编辑/etc/my.cnf,在:[mysqld]内添加一行:skip ...
- iOS-MVC详解
MVC与模板概念的理解 MVC(Model View Controller)模型-视图-控制器 MVC本来是存在于Deskt op程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC 的 ...
- dedecms 列表页调用自定义字段
在列表附加字段中添加自己定义的字段 如: lwulr调用:{dede:list addfields="lwurl" channelid="1"}[field:l ...
- Qt简介
一.Qt与Qt Creator简介 Qt是一个跨平台应用程序和 UI 开发框架.使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序. ...
- Core Java Volume I — 3.6. Strings
3.6. StringsConceptually, Java strings are sequences of Unicode characters(Java的字符串是一个Unicode序列). Fo ...