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

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

Remote Scripting技術(shù)的完成

Remote Scripting技術(shù)的完成

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

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

RS的基本原理:
RS是通過“RS.HTM”(這是一個客戶端的模塊)和“RS.asp”(這是一個服務(wù)端的模塊)
來建立一個客戶端到服務(wù)端的連接的。
當(dāng)然其中使用了一個后臺加入到客戶端的Java applet來實現(xiàn)的。
該applet通過HTTP傳遞你要調(diào)用服務(wù)端上特定的ASP頁面和參數(shù)。
而客戶端的頁面通過調(diào)用本地的rs.htm中的函數(shù)來進行每次的遠程調(diào)用申請。
所以了,大家可以想象得到要想使用RS技術(shù)的話,那么在你的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,它必須是你想調(diào)用服務(wù)端asp的URL地址的全寫。
例如:http://YourServer/rsdemo/server.asp
服務(wù)端的寫法:
還要注意的是你必須要使用JavaScript來寫你的遠程調(diào)用部分(就是服務(wù)端的程序)
,因為這些RS函數(shù)在服務(wù)端都是使用JS寫的。 一個通用的寫法如下:
 '必須先調(diào)用RSDispatch,而且對大小寫敏感
 <% RSDispatch %>
 <SCRIPT RUNAT=SERVER Language=javascript>
 <!--#INCLUDE VIRTUAL="/_ScriptLibrary/RS.ASP"-->
ASP遠程調(diào)用對象的寫法很象是在寫DHTML的腳本.事實上,它必須要支持一個public_description
對象來描述通用的公共編程接口,并且實現(xiàn)申明所有的方法和屬性:
例子如下:
function Description()
{
 this.GetEmpInfoAsArray = DoGetData;
}
public_description = new Description ();
function DoGetData(employeeName)
{
//為了能夠讓RS能夠識別你自己寫出來的函數(shù),
//你必須要把它們申明成一個固定的名字public_description.
//然后你可以在這個DoGetData中寫自己想返回的東西
//在這個例子中將使用SQL字符串和ADO來查詢微軟給的例子數(shù)據(jù)庫Northwind
//當(dāng)然你應(yīng)該給該數(shù)據(jù)庫建立一個叫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)然了,你也可以把整個記錄集都返回回去。

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

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

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 尚志市| 耿马| 孟连| 张家港市| 思茅市| 师宗县| 涟源市| 江口县| 九龙城区| 宜都市| 千阳县| 南康市| 扎鲁特旗| 巴青县| 长春市| 耿马| 正安县| 吴桥县| 防城港市| 韶山市| 德格县| 绥阳县| 巨鹿县| 济源市| 柳州市| 汉源县| 丘北县| 息烽县| 长阳| 高阳县| 尼木县| 吴忠市| 绥中县| 武义县| 青田县| 治县。| 曲松县| 云霄县| 成都市| 巫溪县| 绩溪县|