濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 在JScript中使用緩存技術(shù)的實(shí)際代碼

在JScript中使用緩存技術(shù)的實(shí)際代碼

熱門標(biāo)簽:外呼系統(tǒng)怎么話費(fèi) 友邦互聯(lián)電銷機(jī)器人違法嗎 電銷機(jī)器人采購 硅基電話機(jī)器人加盟 滴滴地圖標(biāo)注上車點(diǎn) 無營業(yè)執(zhí)照地圖標(biāo)注教學(xué) 地圖標(biāo)注還可以做嗎 高質(zhì)量的電銷外呼系統(tǒng) 宿州防封外呼系統(tǒng)平臺(tái)
在使用VBScript時(shí),我們可以用Application緩存數(shù)組來實(shí)現(xiàn)緩存,例:

程序代碼:
復(fù)制代碼 代碼如下:

Dim rs,arr 
rs.Open conn,sql,1,1 
arr=rs.GetRows() 
Application.Lock() 
Application("cache")=arr 
Applicatoin.UnLock() 

在VBScript里,數(shù)組是可以存到Application對(duì)象里的,但是如果ASP的語言選擇為JScript的話,那么就有些不妙了,我們?cè)谑褂肁pplication儲(chǔ)存一個(gè)數(shù)組時(shí),會(huì)出現(xiàn)以下錯(cuò)誤:

引用內(nèi)容:
Application object, ASP 0197 (0x80004005)

Disallowed object use

Cannot add object with apartment model behavior to the application intrinsic object.

在微軟的知識(shí)庫可以找到具體原因如下:

引用內(nèi)容:
JScript arrays are considered to be "Apartment" COM components. Only Component Object Model (COM) components that aggregate the Free Threaded Marshaler (FTM) can be assigned to Application scope within an Internet Information Server (IIS) 5.0 ASP page. Because an "Apartment" component cannot aggregate the FTM (it cannot allow a direct pointer to be passed to its clients, unlike a "Both with FTM" object), JScript arrays do not aggregate the FTM. Therefore, JScript arrays cannot be assigned to Application scope from an ASP page.

以上描述引用自:PRB: Error When You Store a JScript Array in Application Scope in IIS 5.0

因此,為了解決這個(gè)問題,在Google里找了一大會(huì),終于找到了一篇文章《Application對(duì)象的Contents和StaticObjects做Cache的一些結(jié)論》,解決了這個(gè)問題,方法就是使用Application.StaticObject存放一個(gè)Scripting.Dictionary對(duì)象,然后再使用Scripting.Dictionary對(duì)象來存放需要緩存的數(shù)據(jù)。

據(jù)此,寫了一個(gè)操作緩存的類,實(shí)現(xiàn)put、get、remove和clear方法,使用之前,需要在global.asa中添加一個(gè)object:

程序代碼:
object id="xbsCache" runat="server" scope="Application" progid="Scripting.Dictionary">/object>
類的實(shí)現(xiàn)如下:
復(fù)制代碼 代碼如下:

script language="JScript" runat="server"> 
/** 
 Title: cache operate class 
 Description: operate system cache 
 @Copyright: Copyright (c) 2007 
 @Author: xujiwei 
 @Website: http://www.xujiwei.cn/ 
 @Version: 1.0 
 @Time: 2007-06-29 12:03:45 
**/ 
var xbsCache = { 
    get: function(key) { 
        return Application.StaticObjects("xbsCache").Item("Cache."+key); 
    }, 
    put: function(key, data) { 
        Application.Lock(); 
        Application.StaticObjects("xbsCache").Item("Cache."+key)=data; 
        Application.UnLock(); 
    }, 
    remove: function(key) { 
        Application.Lock(); 
        Application.StaticObjects("xbsCache").Remove("Cache."+key); 
        Application.UnLock(); 
    }, 
    clear: function() { 
        Application.Lock(); 
        Application.StaticObjects("xbsCache").RemoveAll(); 
        Application.UnLock(); 
    } 

/script> 
如此,就完成了ASP中使用JScript時(shí)的緩存實(shí)現(xiàn)。

您可能感興趣的文章:
  • 使用jscript實(shí)現(xiàn)二進(jìn)制讀寫腳本代碼
  • JScript中調(diào)用ActiveX獲取訪客網(wǎng)卡MAC地址實(shí)現(xiàn)代碼
  • 使用 JScript 創(chuàng)建 .exe 或 .dll 文件的方法
  • JScript 腳本實(shí)現(xiàn)文件下載 一般用于下載木馬
  • JScript中使用ADODB.Stream判斷文件編碼的代碼
  • 解決 JScript 中使用日期類型數(shù)據(jù)時(shí)出現(xiàn)類型錯(cuò)誤的問題
  • 解讀IE和firefox下JScript和HREF的執(zhí)行順序
  • jscript讀寫二進(jìn)制文件的方法

標(biāo)簽:雅安 江門 廣元 新余 儋州 錫林郭勒盟 七臺(tái)河 宣城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在JScript中使用緩存技術(shù)的實(shí)際代碼》,本文關(guān)鍵詞  在,JScript,中,使用,緩存,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在JScript中使用緩存技術(shù)的實(shí)際代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于在JScript中使用緩存技術(shù)的實(shí)際代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    弋阳县| 青河县| 微山县| 井冈山市| 娱乐| 达孜县| 新建县| 杭州市| 会泽县| 泸溪县| 确山县| 新乐市| 水富县| 泰兴市| 固镇县| 宁化县| 永靖县| 虎林市| 岗巴县| 桦南县| 临颍县| 都匀市| 张掖市| 卢氏县| 水富县| 运城市| 思南县| 措勤县| 凌源市| 雷波县| 呼伦贝尔市| 岳阳市| 绩溪县| 满洲里市| 中超| 商河县| 应用必备| 谷城县| 健康| 沧源| 沙洋县|