ASP3.0中的流控制能力
2000-11-20· xuankong·yesky
随着PHP4.0和JSP技术的推出以及IIS中不断出现的重大的安全问题,MicroSoft的ASP的市场仿佛是变的狭窄了,但是MicroSoft是不会轻言放弃的,于是在ASP2.0的基础上推出了ASP3.0,增加了一些新的功能:新的流控制能力、Data Shaping技术(请参考:http://www.aspcn.com/showarticle.asp?id=28)、无脚本 ASP 、更多的组件选择、xml的支持、脚本组件、ASP脚本代码的加密技术等等。其实笔者认为没有多大的改变、或者我对于ASP3.0了解的还是太少了(事实上我认为微软可能放弃了ASP,而是把目光转向了"ASP+",ASP+目前还处于测试阶段,但是笔者从一些国外站点的介绍来看,嘿嘿,我们的下一个作用于Win平台上的东西可能就是ASP+了,所以ASP3.0才没有多大的改变),不过话说回来,对于那些使用Win系统平台的用户,我还是建议大家使用ASP,所以在下面给大家介绍了"ASP3.0中的流控制能力"。
ASP3.0中的流控制技术其实是指程序流,说的通俗一点就是程序的流程,ASP3.0中有了两种新的流控制方法:"Server.Transfer"和"Server.Execute",我将就这两种方法中的一种粗略的介绍给大家,为了具体的显示其功能,我给大家对比了Response.redirect同Server.Transfer的运用!
一般会使用response.redirect这条语句进行地址转向,ASP3.0提供了一种新的方法给我们,这种方法更加高效。让我们先来看看response.redirect和Server.Transfer分别是如何Run的!
response.redirect其实上是当服务器碰到这条语句时发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求,请求response.redirect后面的那个新的http地址,流程如下:
浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址(服务器返回的Response.Redirect后面的地址)这就是一个小小的Response.Redirect的全部过程,不看不知道,一看吓一条!它有这么多的过程,真恐怖... ...,而ASP3.0中的Server.Transfer语句当接受地址后是直接转向后面的地址,流程如下:
浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件。