随笔 - 1330  文章 - 1  评论 - 376  0

 

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);

%>

总结:初步掌握.NET内置对象和基本页面设置及其原理.

 

 

posted on 2009-04-21 11:16 钱途无梁 阅读(...) 评论(...) 编辑 收藏