Asp.net内置对象之Server对象(概述及应用)

一、了解Server对象

Server对象提供对服务器上的方法和属性的访问以及进行HTML编码的功能。这些功能分别由Server对象相应的方法和属性完成。

二、Server对象的常用属性

(1).MachineName
(2).ScriptTimeout:属性用于设置脚本程序执行的时间,适当地设置脚本程序的ScriptTimeout可以提高整个Web应用程序的效率。语法如下:
Server.ScriptTimeout=time;(以s(秒)为单位)

ScriptTimeout属性的最短时间默认为90 s。对于一些逻辑简单、活动内容较少的脚本程序该值已经足够。但在执行一些活动内容较多的脚本程序时,就显得小了些。比如访问数据库的脚本程序,必须设置较大的ScriptTimeout属性值,否则脚本程序就不能正常执行完毕。

复制代码 代码如下:


Response.Write("服务器机器名:" + Server.MachineName);//服务器机器名:IBM 
Response.Write("超时时间为:" + Server.ScriptTimeout);//超时时间为:30000000


三、Server对象的主要方法

最恶心的就是网速差,机器卡

四、Server对象的常见应用

(1).执行其他ASP.NET网页

使用Server对象的Execute方法可以在当前页面中执行同一Web服务器上的另一页面,当该页面执行完毕后,控制流程将重新返回到原页面中发出Server.Execute方法调用的位置。被调用的页面应是一个.aspx网页,因此,通过Server.Execute方法调用可以将一个.aspx页面的输出结果插入到另一个.aspx页面中。Server.Execute方法语法如下:
Server.Execute (path)

在WebForm1页面中:

复制代码 代码如下:

 
protected void Page_Load(object sender, System.EventArgs e)
{
Response.Write("<P>调用 Execute 方法之前</P>");
Server.Execute("Page2.aspx");//使用Server.Execute(Path)执行其他ASP.NET页面。这里将Page2.aspx的输出结果插入到当前页面
//Server.Execute("http://www.163.com");//程序不能执行,必须是相对路径
Response.Write("<P>调用 Execute 方法之后</P>");
}


在page.aspx页面中

复制代码 代码如下:

 
protected void Page_Load(object sender, System.EventArgs e)
{
Response.Write("这是page2.aspx网页");
}


则运行结果为:

Asp.net内置对象之Server对象(概述及应用)

(2).将流程控制转移到其他ASP.NET网页

使用Server对象的Transfer方法可以终止当前页的执行,并将执行流程转入同一Web服务器的另一个页面。被调用的页面应是一个.aspx页面,在页面跳转过程中,Request等对象保存的信息不变,这意味着从页面A跳转到页面B后可以继续使用页面A中提交的数据。此外,由于Server.Transfer方法调用是在服务器端进行的,客户端浏览器并不知道服务器端已经执行了一次页面跳转,所以实现页面跳转后浏览器地址栏仍将保存页面A的URL信息,这样还可以避免不必要的网络通信,从而获得更好的性能和浏览效果。Server.Transfer方法如下:
Server.Transfer(path)

提示:参数path指定在服务器上要执行的新页的URL路径,在此URL后面也可以附加一些查询字符串变量的名称/值对
在WebForm1页面中:

复制代码 代码如下:


protected void Page_Load(object sender, System.EventArgs e)
{
Response.Write("<P>调用 Transfer 方法之前</P>");
//Response.Redirect("Page2.aspx");
Server.Transfer("Page2.aspx");
//使用Server.Transfer(path)终止当前页的执行,所以执行到这一行就终止了,也就是说后面的不再执行;
//然后将执行流程转入同一Web服务器的另一个页面。也就是page2.aspx页面中了。在页面跳转过程中,Request等对象保存的信息不变
//这意味着从页面A跳转到页面B后可以继续使用页面A中提交的数据:那么在page2.apsx页面中就能输出Server.Transfer(path)之前的数据了。
//Server.Transfer("www.163.com");//这样不行,只能是虚拟路径
Response.Write("<P>调用 Transfer 方法之后</P>");
}


在Page2页面:

复制代码 代码如下:


protected void Page_Load(object sender, System.EventArgs e)
{
Response.Write("<P>这是 Page2.aspx 的执行结果</P>");
}


则运行结果:

Asp.net内置对象之Server对象(概述及应用)

如果我们换成了Response.Redirect("Page2.aspx");则只能实现页面跳转功能了。
引述:ASP.NET页面传值的三种方式

复制代码 代码如下:


(1).使用QueryString
(2).使用Session变量
(3).使用Server.Transfer


(3).将虚拟路径转换为物理文件路径

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdggw.html