国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:05:13
字體:
來源:轉載
供稿:網友

在編寫ASP程序時,為了提高ASP程序的效率,減少對數據庫的連接和查詢,通常采用緩存技術來緩存一些需要從數據庫中讀取的數據,接下來錯新技術頻道帶你一起來看看吧!

例:
程序代碼:

復制代碼 代碼如下:

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>
類的實現如下:

?

?

?

?

如此,就完成了ASP中使用JScript時的緩存實現,希望錯新技術頻道小編為您整理的內容,可以為大家提供到幫助。

?

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰浩特市| 连城县| 尚义县| 大田县| 乐山市| 横峰县| 商丘市| 莱阳市| 白朗县| 张北县| 榆树市| 织金县| 西乌珠穆沁旗| 铜川市| 毕节市| 金昌市| 大邑县| 邯郸市| 永州市| 鱼台县| 金湖县| 浏阳市| 阿鲁科尔沁旗| 沈阳市| 都安| 雅江县| 玉山县| 石狮市| 孟州市| 万安县| 全椒县| 科技| 当阳市| 上林县| 昌图县| 大足县| 皋兰县| 天水市| 明星| 绍兴市| 安塞县|