文章教程

3.5Server对象

8/31/2020 8:52:25 PM 人评论 次浏览

3.5 Server对象

学习目标

学习并掌握Server对象的使用方法。

3.5.1 Server对象功能描述

在ASP.NET中,当处理Web服务器上的一些特定任务,特别是一些与服务器的环境和处理活动有关的任务时,需要用到Server对象。Server对象是HttpServerUtility类的实例。

Server对象通过属性和方法来访问Web服务器,从而实现对数据、网页、外部对象、组件的管理。Server对象的常用属性和方法如表3-3所示。

表3-3 Server对象的常用属性和方法

3.5.2 常用方法和属性

1.ScriptTimeout属性

如果用户请求的页面执行时间太长以致超过了服务器的最长可以执行时间,那么页面将出现超时的错误提示,特别是页面运行时要请求的数据库信息太多或者上传的文件太大都会导致页面的执行时间过长,此时就可以在页面的一开始使用编程的方式定义页面的最长可以执行时间,比如下面的代码就是定义页面的最长可以执行时间为180s。

Server.ScriptTimeOut=180;

2.HtmlEncode方法和HtmlDecode方法

HtmlEncode方法是对字符串进行HTML编码处理,即让HTML代码在页面原样输出,而HtmlDecode方法是HtmlEncode的反方法,即解码方法,接下来举例说明。

(1)在ASP.NET网站项目StudyObject中添加页面StudyServer.aspx,在页面的Page_Load事件中编写如下代码。

protected void Page_Load(object sender, EventArgs e)
{
  //Response.Write(Server.ScriptTimeout.ToString());
  string str = "<a href=http://www.sohu.com>sohu.com</a>";
  Response.Write("直接输出:" + str+"<Br>");
  str = Server.HtmlEncode(str);
  Response.Write("HtmlEncode处理后输出:" + str + "<Br>");
  str = Server.HtmlDecode(str);
  Response.Write("HtmlDecode处理后输出:" + str + "<Br>");
}

(2)然后按Ctrl+F5组合键,运行显示效果如图3-15所示。

图3-15 页面StudyServer.aspx运行显示效果(1)

3.UrlEncode方法和UrlDecode方法

UrlEncode方法主要是完成URL字符串编码,而UrlDecode方法则是UrlEncode方法的反方法。接下来举例说明。

(1)修改上述页面Study Server.aspx的设计窗口,布局如图3-16所示。

图3-16 页面StudyServer.aspx设计窗口显示效果

(2)在图3-16中双击“确定”按钮进入该按钮单击事件的代码编写窗口,编写如下代码。

protected void btnConfirm_Click(object sender, EventArgs e)
{
  string Name = txtName.Text.Trim();
  string UrlEncodeName = Server.UrlEncode(txtName.Text.Trim());
  Response.Redirect("StudyServer.aspx?Name="
  + Name + "&UrlEncodeName=" + UrlEncodeName);
}

同时修改StudyServer.aspx页面的Page_Load事件如下:

  protected void Page_Load(object sender, EventArgs e)
  {
    //Response.Write(Server.ScriptTimeout.ToString());
    string str = "<a href=http://www.sohu.com>sohu.com</a>";
    Response.Write("直接输出:" + str+"<Br>");
    str = Server.HtmlEncode(str);
    Response.Write("HtmlEncode处理后输出:" + str + "<Br>");
    str = Server.HtmlDecode(str);
    Response.Write("HtmlDecode处理后输出:" + str + "<Br>");
    Response.Write("<hr>");
    Response.Write("Name:"+Request.QueryString["Name"] + "<br>");
    Response.Write("UrlEncodeName:" + Request.QueryString
    ["UrlEncodeName"] + "<br>");
    Response.Write("UrlDecode UrlEncodeName:" + Server.UrlDecode
    (Request.QueryString["UrlEncodeName"] + "<br>"));
  }

(3)按Ctrl+F5组合键,在运行窗口中的“输入姓名”文本框中输入"aaa",然后单击"确定”按钮,运行显示效果如图3-17所示。

图3-17 页面StudyServer.aspx运行显示效果(2)

(4)在图3-17中如改为输入"aaa&bbb&ccc",然后单击“确定”按钮,运行显示效果如图3-18所示。

图3-18 页面StudyServer.aspx运行显示效果(3)

4.MapPath方法

Server对象的MapPath方法可以将指定的虚拟路径(相对路径或者绝对路径)转换成实际的物理路径。使用语法格式为:Server.MapPath[虚拟路径]。

例如在网页Study Server.aspx中如果要获取StudyServer.aspx的物理路径就可以使用下述代码:

Response.Write(Server.MapPath("StudyServer.aspx"));

在后续操作Access数据库时会经常使用该方法指定Access数据库文件的物理位置。

教程类别