Remote Scripting技术的实现
Remote Scripting (RS)老早以前我就一直在说这个技术名词了, 它到底是个什么东东了,其实RS是一种远程调用你的ASP页面 (当然是调用你指定的URL中的ASP页面了)中的某个函数或者方法 的技术。 该技术主要有三大优点: I。你能够优化你每次从客户端到服务端的一个来回数据流程 II。你能够在不同的ASP页面中重用(就是多次使用)同一个函数或则方法 III。当你连接到远程的ASP页面时不会刷新你的当前正在浏览的页面 上面是它的三大特点,下面讲讲具体的过程。 RS让你直接调用(或则说建立一个到服务端的连接) 注意,这也是它和RDS的不同的地方,RDS是通过一个类似与代理的机制并且 建立的连接是在一个断开连接的记录集基础上的。 RS在建立这个连接的时候,是不会影响当前所在的ASP页面的。 一旦你建立了这样的一个连接后,你就能够调用任何一个在你的远程页面中 申明为public的函数。然后你可以把调用页面需要的所有数据缓存在本地, 当客户端的页面接受到远程调用函数的返回值后,这些返回值有可能是 一个数组(array),记录集(recordset),字符串(string) 接下来你就可以使用客户端的数据处理技术(例如客户端的JS,DHTML等)来对这些 数据进行处理了。这些数据你完全可以当作好象就是使用客户端的 脚本函数得到的一样。 RS的基本原理: RS是通过“RS.HTM”(这是一个客户端的模块)和“RS.asp”(这是一个服务端的模块) 来建立一个客户端到服务端的连接的。 当然其中使用了一个后台加入到客户端的Java applet来实现的。 该applet通过HTTP传递你要调用服务端上特定的ASP页面和参数。 而客户端的页面通过调用本地的rs.htm中的函数来进行每次的远程调用申请。 所以了,大家可以想象得到要想使用RS技术的话,那么在你的ASP页面中就必须要 包括这些特定的页面 如何使用RS 一般只要你安装了VI后,就有了所需要的东西了。 主要是下面的三个文件:rsproxy.class, rs.asp, rs.htm. 把它们放到这个目录中wwwroot\_ScriptLibrary 客户端的写法: 然后在你想使用RS的页面的最前面包含这几个文件: <script language="JavaScript" src="http://YourServer/_ScriptLibrary/rs.htm"> </script> <script language="JavaScript"> serverURL = "http://YourServer/_ScriptLibrary "; RSEnableRemoteScripting(serverURL); </script> 注意其中的serverURL,它必须是你想调用服务端asp的URL地址的全写。 例如:http://YourServer/rsdemo/server.asp 服务端的写法: 还要注意的是你必须要使用JavaScript来写你的远程调用部分(就是服务端的程序) ,因为这些RS函数在服务端都是使用JS写的。 一个通用的写法如下: ''必须先调用RSDispatch,而且对大小写敏感 <% RSDispatch %> <SCRIPT RUNAT=SERVER Language=javascript> <!--#INCLUDE VIRTUAL="/_ScriptLibrary/RS.ASP"--> ASP远程调用对象的写法很象是在写DHTML的脚本.事实上,它必须要支持一个public_description 对象来描述通用的公共编程接口,并且实现申明所有的方法和属性: 例子如下: function Description() { this.GetEmpInfoAsArray = |
查看所有评论
