Server对象
Server对象定义了一个于Web服务器相关联的类提供对服务器上的方法和属性的访问,用于访问服务器上的资源。
Server对象的常用属性
属性 | |
MarhineName | 获取服务器的计算机名称 |
ScriptTimeout | 获取和设置请求超时值 |
Server对象常用方法
方法 | |
Execute | 在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给处理程序 |
HtmlDecode | 对已被编码以消除无效的HTML字符的字符串进行解码 |
HtmlEncode | 对要在浏览器中显示的字符进行编码 |
MapPath | 返回与web服务器上的指定虚拟路径相对应的物理文件路径 |
UrlDecode | 对字符串进行解码,改字符串为了进行HTTP传输而编码并在URL中发送到服务器 |
UrlEncode | 编码字符串,以便通过URL从Web服务器到客户端经行可靠的HTTP传输 |
transfer | 终止当前页的执行,并为当前请求开始执行新页 |
1.使用Server.Execute方法和Server.Transfer方法重定向页面
Execute方法用于执行从当前页面转移到另一个页面,并将执行返回到当前页面,执行所转移的页面在同一浏览器窗口中执行,然后原始页面继续执行。所以执行Execute方法后原始页面保留控制权。
Transfer方法用于将执行完全转移到指定页面。执行该方法时主调页面将失去对其的控制权。
实验一个简单的例子吧!在页面放置2个按钮,一个负责Execute,一个负责Transfer方法,具体如下:
Transfer方法从当前ServerDemo.aspx页面重新定向到页面。具体的ServerDemo.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebSessionDemo
{
public partial class ServerDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// Execute按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btn_Execute_Click(object sender, EventArgs e)
{
this.Server.Execute("NewServerDemo.aspx?Message=Execute");
this.Response.Write("ServerDemo.aspx页");
}
/// <summary>
/// Transfer按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btn_Transfer_Click(object sender, EventArgs e)
{
this.Server.Transfer("NewServerDemo.aspx?Message=Transfer");
this.Response.Write("ServerDemo.aspx页");
}
}
}
运行前先在项目建立一个NewServerDemo.aspx页面,以免程序出现异常,运行效果如下:
2.使用Server.MapPath方法获取服务器的物理路径
MapPath方法用来放回与Web服务器上的指定虚拟路径相对应的物理文件路径。写法如下:
Server.UrlEncode(
string
);
//string为需要经行编码的数据
Server对象的UnEncode方法的编码规则:
- 空格被“+”代替
- 字段不被编码
- 字段名称将被指定为关联的字段值
- 非ASCII字符将被转义码所代替。
3.2字符串解码
Server对象的UrlDecode方法用来对字符串经行URL解码并返回已经解码的字符串,如:
Response.Write(Server.UrlDecode(
"http%3a%2f%2flogin.aspx"
));
解码后输出结果应该是"http://login.aspx";
OK,到这里ASP.NET的内置对象,Request /Response/Session/Cookie/Application/Server大致介绍就完了!其实我们最常用的无非就是用Requset对象通过HTTP请求服务器可以得到客户端的信息,然后在通过Response对象控制发送回给客户端的信息,Server对象提供了服务器端的基本属性和方法!