[ 关键字 ] 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);
%>