asp.net 内置对象(转)

一、

ASP.NET提供了7个内置对象,这些对象可以在页面中直接使用,通过ASP.NET内置对象,在ASP.NET页面上已经页面之间可以方便地实现

 

1.               Request  从浏览器获取信息

2.               Response 向浏览器输出信息

3.               Application 为所有用户提供共享信息的手段

4.               Cookies  用来保留客户端信息,保留在客户端

5.               Session 用来保留客户端信息,保留在服务器

6.               Server 从服务器获取信息

7.               Trace 提供在HTTP页说出自定义跟踪和信息

 

 

二、ASP.NET内置对象和页面配置

      response, request ,session ,cookies, Application, Trace, global.asa, web.config

对象名

说明

ASP.NET

Response

提供向浏览器写入信息或者发送指令等功能

HttpResponse

Request

提供从浏览器读取信息或者取客户端信息等功能。

HttpRequest

Application

为所有用户提供共享信息

HttpApplicationState

Server

提供服务器端一些的属性和方法

HttpServerUtility

Session

为某个用户提供共享信息

HttpSessionState

Context

页面上下文对象,使用此类共享页之间的信息

HttpContext

Trace

提供在 HTTP 页输出自定义跟踪诊断消息

TraceContext

 

 

 

1. response对象.

 主要任务是向浏览器输出内容

   Response.Write():输出数据

Response.End():输出停止

Response.redirect():转向

Response.WriteFile();输出文件.

  :Response对象的函数的用法和 ASP几乎相同.在此不赘述.

:输出文件Server.MapPath(".")Server.MapPath("/")获取文件目录.

2. Request对象.

 主要功能是从客户端获取数据.

  Request.form (POST方法), Request.querystring(GET方法), Request(前两种的缩写)

  Request.ContentEncoding.EncodingName 获取编码方式

 :解决中文问题:

 “<globalization requestEncoding="UTF-8" responseEncoding="UTF-8"/>”换成“<globalization requestEncoding="GB2312" responseEncoding="GB2312"/>”

 :获取浏览器Request.UserAgent

  :客户端IPRequest.UserHostAddress

 :当前文件服务端路径Request.PhysicalApplicationPath

 

3. Application对象.

 ASP一样,所有用户都可以改变Application,所以利用该对象可以创建聊天室和计数器

 自定义Application格式 Application[“name”]=”baker”;

                        <% =Application[“name”]%>

 实例一:聊天室

 <% @ Page Language="C#" %>

<%

       string mywords=Request["mywords"];

       Application.Lock();

       Application["chat_content"] = Application["chat_content"]

                     +"<br>"+mywords;

       Response.Write (Application["chat_content"]);

       Application.UnLock();

%>

<FORM ACTION="4-12.aspx" METHOD="post">

<INPUT TYPE="text" SIZE="30" NAME="mywords" VALUE="我在聊天室!">

<INPUT TYPE="submit" VALUE="提交">

</FORM>

实例二: 计数器

<% @ Page Language="C#" %>

<%

Application.Lock();

Application["count"] =Convert.ToInt32(Application["count"]) + 1;

Application.UnLock();

%>

您是本站点第<%=Application["count"]%>位贵宾!

4.server对象.

通过该对象可以获取服务器信息和文件执行期限的数据.

该对象提供访问服务器的方法和属性.

比如某文件的物理路径.

实例一:向浏览器输出HTML

<% @ Page Language="C#" %>

<%

Response.Write(Server.HtmlEncode( "hello world;(<p>你好!</p>)"));

Response.Write(<br>);

Response.Write("hello world;(<p>你好!</p>)");

%>

实例二:取物理路径的方法

<% @ Page Language="C#" %>

Server.MapPath(".") 传回当前文件所在的物理路径:<BR>

       <%=Server.MapPath(".")%><P>

Server.MapPath("/") 传回网站的根路径:<BR>

       <%=Server.MapPath("/")%><P>

Server.MapPath("/abc.txt")传回网站根路径下abc.txt文件的位置<BR>

       <%=Server.MapPath("/abc.txt")%><P>

Server.MapPath("/abc") 传回网站根路径下abc目录的位置<BR>

       <%=Server.MapPath("/abc")%><P>

Server.MapPath("abc.txt") 传回当前文件所在目录下abc.txt文件的位置<BR>

       <%=Server.MapPath("abc.txt")%><P>

5.Session对象

利用该对象可以保存用户信息当在不同的页面之间切换时,保存在Session内的信息不会丢失,使用Abandon()显式的结束一个对话,利用属性”TimeOut”设置有效期

实例一: 为每个浏览用户分配一个Session ID

<% @ Page Language="C#" %>

你的自动编号为:<%=Session.SessionID%>

经测试,该对象是随机的.

实例二: 自定义属性以及方法.

Session.Timeout = 1;

       Session["Greeting"]="欢迎!";

       Response.Write(Session["Greeting"]);

       Session.Abandon();

6.Trace对象

主要用户页面跟踪,不太了解,在此不赘述.

7.Cookies对象

 Cookies对象能保存不同的信息在客户端,session的另外一个区别是session的信息始终保存在服务器上.

 定义方法:

 <%

 HttpCookie MyCookie = new HttpCookie("user");

 MyCookie.Value = "为人民服务!";

 Response.Cookies.Add(MyCookie);

%>

读取方法:

<%

     string mycook=Request.Cookies["user"].Value;

     Response.Write(mycook);

%>

8.global.asax网站配置文件.

在网站根目录下,可以不定义该文件.也叫做ASP.NET应用程序文件.

 Global.asax文件结构

<Script language="C#" runat="server">

     void Session_OnStart() {

         // Session启动的时候,执行这里的代码

     }

     void Session_OnEnd() {

         // Session终止的时候,执行这里的代码

     }

     void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {

         // 请求验证信息,执行这里的代码

     }

     public void Application_OnStart() {

         // Application启动的时候,执行这里的代码

     }

     public void Application_BeginRequest() {

         // Application相应Request请求时,执行这里的代码

     }

     public void Application_OnEnd() {

         //Application终止动的时候,执行这里的代码

     }

</script>

实例一:统计在线人数(访问Application[“whoson”]即可得到在线数据)

添加如下信息在Global.asax文件中.

<Script language="C#" runat="server">

     void Session_OnStart() {

        Application.Lock();

              Application["whoson"]=Convert.ToInt32(Application["whoson"])+1;

              Application.UnLock();

     }

     void Session_OnEnd() {

        Application.Lock();

              Application["whoson"]=Convert.ToInt32(Application["whoson"])-1;

              Application.UnLock();

     }

     public void Application_OnStart() {

        Application.Lock();

              Application["whosOn"]=0;

              Application.UnLock();

     }

</script>

9.运行配置文件.

Machine.config(机器配置文件): 用以机器范围内的设置

一般在“%SystemRoot%"Microsoft.NET"Framework"V版本号"CONFIG"machine.config”

中找到.

Web.config(应用程序配置文件):用以应用程序的特定设置.

共同点:

两种配置文件的根元素都是<configuration>

所有信息都包含在 <start> </start>之间.

任何属性,关键字或值应该封闭在双引号内:<add key="data"></add>.

 

关于运行配置文件的详细方法,在此不赘述.

读取配置文件的方法:

<%

string strData=ConfigurationSettings.AppSettings["DSN"];

Response.Write(strData);

%>

 

 

 

 

posted @ 2010-12-01 10:18  简单飞翔  阅读(348)  评论(0编辑  收藏  举报