一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - 在JScript中使用緩存技術的實際代碼

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

2019-09-27 09:09asp教程網 ASP教程

在編寫ASP程序時,通常為了提高ASP程序的運行效率及減少對數據庫的連接和查詢,會使用緩存技術來緩存一些需要從數據庫讀取的數據。而在ASP中實現緩存的方法常用的就是使用Application對象。在編寫ASP程序時,我們有兩種語言可以

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99精品99| 荡娃艳妇系列小说 | 国产91精选在线观看麻豆 | 亚洲系列国产系列 | 青草视频免费 | 女仆掀起蕾丝裙被打屁股作文 | 色综合久久丁香婷婷 | 久久三级视频 | 2012手机在线中文字幕 | 日本三级在线观看免费 | 日韩久久中文字幕 | 色99视频| 日本96在线精品视频免费观看 | 国产高清在线视频一区二区三区 | 欧美黑人一级片 | 亚洲男人第一天堂 | 精品国产免费第一区二区 | 美女任你模 | 成人在线播放 | 亚洲精品www久久久久久久软件 | 国产一级在线观看 | 国产精品欧美一区二区 | 91精品天美精东蜜桃传媒免费 | 国产欧美精品一区二区三区 | xxx95日本老师xxx学生 | 日本高清不卡一区久久精品 | 午夜在线观看视频 | 色老妈 | 人妖女天堂视频在线96 | 成人中文字幕在线观看 | 日本中文字幕一区二区高清在线 | 男女做受快插大片 | 青青国产成人久久激情911 | 美女被上漫画 | 免费视频精品一区二区三区 | 日本96在线精品视频免费观看 | 亚洲成人网在线 | 色姑娘导航 | 国产综合成人久久大片91 | 暖暖 免费 高清 日本 中文 | 日本啊v在线观看 |