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内置对象和基本页面设置及其原理.