ASP中Server对象的作用是什么?

很多 关于BBS论坛的问题。 是这方面的专家加我。

Server对象只有一个属性,即ScriptTimeout属性。不知道你是否还记得Session的Timeout属性,这里的ScriptTimeout属性是设定了当前页面执行的超时时间,例如,下面的代码将当前页面的执行超时时间设定为500秒。Server. ScriptTimeout = 500设定完毕这个时间后,当当前页面在服务器上的执行时间大于这个时间,则会强制终止当前页面的运行。因此如果某个页面可能运行时间较长的话,你就需要手动的增大这个值,来保证页面可以正常执行完毕。如果不设定,那么这个值将遵循IIS的默认设定,为90秒。Server对象有如下几种方法:l CreateObject("identifier") 创建由identifier标识的对象(一个组件、应用程序或脚本对象)的一个实例l Execute("url") 停止当前页面的执行,把控制转到在url中指定的网页。在该页面执行完成后,控制传递回原先的页面,并继续执行Execute方法后面的语句l HTMLEncode("string") 对字符串进行HTML转义l MapPath("url") 返回在url中指定的文件或资源的完整物理路径和文件名l Transfer("url") 停止当前页面的执行,把控制转到url中指定的页面。l URLEncode("string") 对字符串进行Url转义首先来看CreateObject方法,这个方法用于创建服务器上的组件的实例。这个方法最常用的就是用来创建数据库操作组件ADO的实例,如下:Set rs = Server.CreateObject("Adodb.RecordSet")这段代码则建立了组件Adodb.RecordSet的实例rs,你可以用rs进行一些数据集的操作,当然,这个我们在后面会详细讲解。ExeCute方法和Transfer方法我们放在一起比较,两者的作用都是停止当前页面的运行,并传递到另外一个页面,其不同在于,Execute方法是在另外一个页面执行完毕后回到现在的页面继续向下执行,而Transfer方法则是在另外一个页面执行完毕后即停止运行了。我们用实例来说明这一点。假设有三个文件分别是1.ASP、2.ASP以及3.ASP,其中3.ASP文件的代码只有一句,是<%Response.Write("这是3.ASP文件的内容")%>1.ASP文件的代码如下:<%Response.Write("这是1.ASP文件开始的内容")Server.Execute("3.ASP")Response.Write("这是1.ASP文件结束的内容")%>2.ASP文件的代码如下:<%Response.Write("这是2.ASP文件开始的内容")Server.Transfer("3.ASP")Response.Write("这是2.ASP文件结束的内容")%>请通过最终执行的结果来比较Server.Execute和Server.Transfer方法的不同,如图8.8所示。 图8.8不知道你是否还记得我们在探讨Response.Redirect方法的时候,我说的话,这里我们将Response.Redirect方法与Server.Transfer方法进行一个比较。首先,二者都是将页面的控制权转到另外的页面进行处理,但是他们有如下的不同。1. Redirect方法是在HTTP头中输出代码,让浏览器重新请求要转向的目标页面,而Server.Transfer方法则是在服务器上直接将当前的控制权转给目标页面,在客户端并不会意识到当前的页面已经发生了变更。2. Redirect方法可以重定向到任何的URL,例如,可以使用代码Response.Redirect(" http://www.baidu.com")转到百度搜索引擎,但是由于Transfer方法是在服务器上转移控制权,因此你只可以Transfer到本地服务器存在的页面。3. 在使用Transfer方法时,会将当前页面的事务以及Request各个集合相应传递到目标页面,而Redirect方法仅仅是通知浏览器开启一个新的请求。你不妨做一个实验,在刚才的3.ASP页面中加入如下代码:Response.Write(Request.QueryString("a")),而后打开1.ASP页面时,附加一个QueryString变量,如,输入http://localhost/1.ASP?a=hanguofeng,此时页面会显示出“hanguofeng”字样,说明在3.ASP文件中也可以接收到这个QueryString变量。Server.UrlEnCode和Server.HtmlEnCode两个方法是对某个字符串进行相关的转义操作,前者进行Url转义,后者进行HTML转义。那么,什么是转义,转义又有什么意义呢。先来说HTML转义,我们知道,在HTML代码中,如果需要在页面上显示尖括号,那么则需要在源代码中输入<或者>,在页面上显示空格,则需要输入 ,这是避免和HTML的标签混淆而规定的,例如某些时候我们需要对用户输入的内容在页面上显示时,则需要将其输入的内容进行转义,以防用户输入中包含了HTML代码而破坏页面原有的布局。而URL转义则更为必要。有时,你使用Response.Redirect方法将页面重定向到另一个页面,而同时你传递的QueryString变量中又恰好含有中文,此时根据服务器配置的不同,某些服务器在处理这个中文时,则可能出现找不到页面的情况,因此需要在重定向之前使用Server.UrlEnCode来进行URL转义。这也是微软所建议的。最后我们再来看Server.MapPath()方法,此方法用户获得服务器上指定文件在服务器上的物理路径,一般用于其他组件需要传递文件路径的场合。下面的代码获得当前目录下的test.txt文件在服务器上的物理路径。Response.Write(Server.MapPath("test.txt"))此页面的执行效果如图8.9所示。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-06
server对象在ASP.NET什么作用
相似回答