好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

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

在JScript中使用緩存技術的實際代碼

熱門標簽:外呼系統怎么話費 友邦互聯電銷機器人違法嗎 電銷機器人采購 硅基電話機器人加盟 滴滴地圖標注上車點 無營業執照地圖標注教學 地圖標注還可以做嗎 高質量的電銷外呼系統 宿州防封外呼系統平臺
在使用VBScript時,我們可以用Application緩存數組來實現緩存,例:

程序代碼:
復制代碼 代碼如下:

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

在VBScript里,數組是可以存到Application對象里的,但是如果ASP的語言選擇為JScript的話,那么就有些不妙了,我們在使用Application儲存一個數組時,會出現以下錯誤:

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

Disallowed object use

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

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

引用內容:
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

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

據此,寫了一個操作緩存的類,實現put、get、remove和clear方法,使用之前,需要在global.asa中添加一個object:

程序代碼:
object id="xbsCache" runat="server" scope="Application" progid="Scripting.Dictionary">/object>
類的實現如下:
復制代碼 代碼如下:

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時的緩存實現。

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

標簽:雅安 江門 廣元 新余 儋州 錫林郭勒盟 七臺河 宣城

巨人網絡通訊聲明:本文標題《在JScript中使用緩存技術的實際代碼》,本文關鍵詞  在,JScript,中,使用,緩存,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在JScript中使用緩存技術的實際代碼》相關的同類信息!
  • 本頁收集關于在JScript中使用緩存技術的實際代碼的相關信息資訊供網民參考!
  • 推薦文章