人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

Remote Scripting技術(shù)的完成

Remote Scripting技術(shù)的完成

更新時(shí)間:2022-06-29 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

Remote Scripting (RS)老早以前我就一直在說(shuō)這個(gè)技術(shù)名詞了,
它到底是個(gè)什么東東了,其實(shí)RS是一種遠(yuǎn)程調(diào)用你的ASP頁(yè)面
(當(dāng)然是調(diào)用你指定的URL中的ASP頁(yè)面了)中的某個(gè)函數(shù)或者方法
的技術(shù)。
該技術(shù)主要有三大優(yōu)點(diǎn):
I。你能夠優(yōu)化你每次從客戶(hù)端到服務(wù)端的一個(gè)來(lái)回?cái)?shù)據(jù)流程
II。你能夠在不同的ASP頁(yè)面中重用(就是多次使用)同一個(gè)函數(shù)或則方法
III。當(dāng)你連接到遠(yuǎn)程的ASP頁(yè)面時(shí)不會(huì)刷新你的當(dāng)前正在瀏覽的頁(yè)面
上面是它的三大特點(diǎn),下面講講具體的過(guò)程。
RS讓你直接調(diào)用(或則說(shuō)建立一個(gè)到服務(wù)端的連接)
注意,這也是它和RDS的不同的地方,RDS是通過(guò)一個(gè)類(lèi)似與代理的機(jī)制并且
建立的連接是在一個(gè)斷開(kāi)連接的記錄集基礎(chǔ)上的。
RS在建立這個(gè)連接的時(shí)候,是不會(huì)影響當(dāng)前所在的ASP頁(yè)面的。
一旦你建立了這樣的一個(gè)連接后,你就能夠調(diào)用任何一個(gè)在你的遠(yuǎn)程頁(yè)面中
申明為public的函數(shù)。然后你可以把調(diào)用頁(yè)面需要的所有數(shù)據(jù)緩存在本地,
當(dāng)客戶(hù)端的頁(yè)面接受到遠(yuǎn)程調(diào)用函數(shù)的返回值后,這些返回值有可能是
一個(gè)數(shù)組(array),記錄集(recordset),字符串(string)
接下來(lái)你就可以使用客戶(hù)端的數(shù)據(jù)處理技術(shù)(例如客戶(hù)端的JS,DHTML等)來(lái)對(duì)這些
數(shù)據(jù)進(jìn)行處理了。這些數(shù)據(jù)你完全可以當(dāng)作好象就是使用客戶(hù)端的
腳本函數(shù)得到的一樣。

RS的基本原理:
RS是通過(guò)“RS.HTM”(這是一個(gè)客戶(hù)端的模塊)和“RS.asp”(這是一個(gè)服務(wù)端的模塊)
來(lái)建立一個(gè)客戶(hù)端到服務(wù)端的連接的。
當(dāng)然其中使用了一個(gè)后臺(tái)加入到客戶(hù)端的Java applet來(lái)實(shí)現(xiàn)的。
該applet通過(guò)HTTP傳遞你要調(diào)用服務(wù)端上特定的ASP頁(yè)面和參數(shù)。
而客戶(hù)端的頁(yè)面通過(guò)調(diào)用本地的rs.htm中的函數(shù)來(lái)進(jìn)行每次的遠(yuǎn)程調(diào)用申請(qǐng)。
所以了,大家可以想象得到要想使用RS技術(shù)的話(huà),那么在你的ASP頁(yè)面中就必須要
包括這些特定的頁(yè)面


如何使用RS
一般只要你安裝了VI后,就有了所需要的東西了。
主要是下面的三個(gè)文件:rsproxy.class, rs.asp, rs.htm.
把它們放到這個(gè)目錄中wwwroot\_ScriptLibrary
客戶(hù)端的寫(xiě)法:
然后在你想使用RS的頁(yè)面的最前面包含這幾個(gè)文件:
 <script language="JavaScript"
 src="http://YourServer/_ScriptLibrary/rs.htm"> 
 </script>
 <script language="JavaScript">
serverURL = "http://YourServer/_ScriptLibrary ";
RSEnableRemoteScripting(serverURL);
 </script>
注意其中的serverURL,它必須是你想調(diào)用服務(wù)端asp的URL地址的全寫(xiě)。
例如:http://YourServer/rsdemo/server.asp
服務(wù)端的寫(xiě)法:
還要注意的是你必須要使用JavaScript來(lái)寫(xiě)你的遠(yuǎn)程調(diào)用部分(就是服務(wù)端的程序)
,因?yàn)檫@些RS函數(shù)在服務(wù)端都是使用JS寫(xiě)的。 一個(gè)通用的寫(xiě)法如下:
 '必須先調(diào)用RSDispatch,而且對(duì)大小寫(xiě)敏感
 <% RSDispatch %>
 <SCRIPT RUNAT=SERVER Language=javascript>
 <!--#INCLUDE VIRTUAL="/_ScriptLibrary/RS.ASP"-->
ASP遠(yuǎn)程調(diào)用對(duì)象的寫(xiě)法很象是在寫(xiě)DHTML的腳本.事實(shí)上,它必須要支持一個(gè)public_description
對(duì)象來(lái)描述通用的公共編程接口,并且實(shí)現(xiàn)申明所有的方法和屬性:
例子如下:
function Description()
{
 this.GetEmpInfoAsArray = DoGetData;
}
public_description = new Description ();
function DoGetData(employeeName)
{
//為了能夠讓RS能夠識(shí)別你自己寫(xiě)出來(lái)的函數(shù),
//你必須要把它們申明成一個(gè)固定的名字public_description.
//然后你可以在這個(gè)DoGetData中寫(xiě)自己想返回的東西
//在這個(gè)例子中將使用SQL字符串和ADO來(lái)查詢(xún)微軟給的例子數(shù)據(jù)庫(kù)Northwind
//當(dāng)然你應(yīng)該給該數(shù)據(jù)庫(kù)建立一個(gè)叫NW的DSN
aRecs = new Array();
if (rst.RecordCount == 1){
 aRecs[i++] = rst.Fields("EmployeeID").Value
 aRecs[i++] = rst.Fields("Title").Value
 return aRecs;
}
當(dāng)然了,你也可以把整個(gè)記錄集都返回回去。

好了,上面是整個(gè)服務(wù)端的寫(xiě)法,下面來(lái)看看客戶(hù)端怎么來(lái)處理這些返回的數(shù)據(jù)。
在客戶(hù)端可以通過(guò)一個(gè)同步的調(diào)用,如果同步調(diào)用的話(huà)所有結(jié)果都會(huì)在服務(wù)端執(zhí)行
完畢后返回, 當(dāng)然也可以通過(guò)一個(gè)異步的調(diào)用,當(dāng)你一旦調(diào)用了服務(wù)端的程序后
就馬上返回.
這些調(diào)用都是通過(guò)RS引擎中的RSExecute函數(shù)來(lái)實(shí)現(xiàn)的,
它一共有兩個(gè)參數(shù),一個(gè)是pageURL(就是前面說(shuō)的asp頁(yè)面的URL)
另外一個(gè)是funcName就是你要調(diào)用的函數(shù)名。
function RSExecute(pageURL, funcName)
現(xiàn)在我想你一定會(huì)困惑了,怎么沒(méi)有函數(shù)需要的輸入?yún)?shù)呀?呵呵。
這是因?yàn)镽SExecute將使用Javascript的arguments對(duì)象,它會(huì)把該對(duì)象中的
所有參數(shù)當(dāng)成你的函數(shù)需要的參數(shù)打包成一個(gè)數(shù)組傳遞給服務(wù)端。

co = RSExecute(pageURL, "GetEmpInfoAsArray", empName);
if (co.status == 0)
refreshPage(co);

function refreshPage(co) {
//你想進(jìn)行的處理可以寫(xiě)在這下面

溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 吉林市| 庆元县| 岳池县| 金沙县| 新昌县| 寻乌县| 奉化市| 武陟县| 霞浦县| 黄山市| 鸡西市| 体育| 宜兰市| 丹寨县| 东山县| 元朗区| 涪陵区| 丰城市| 西平县| 读书| 罗山县| 禄丰县| 汤原县| 阜宁县| 五指山市| 罗城| 龙江县| 澜沧| 开原市| 辽源市| 清水河县| 信丰县| 新疆| 石渠县| 海原县| 页游| 镇康县| 宣恩县| 鹤壁市| 阿鲁科尔沁旗| 高安市|