ASPプログラムを作成するとき、ASPプログラムの効率を改善し、データベースへの接続とクエリを減らすために、キャッシュテクノロジーは通常、データベースから読み取る必要があるデータをキャッシュするために使用されます。次に、間違った新しいテクノロジーチャネルを見てみましょう!
例:
プログラムコード:
コードコピーは次のとおりです。dim rs、arr
Rs.Open Conn、SQL、1,1
arr = rs.getRows()
application.lock()
Application( "Cache")= arr
applicatoin.unlock()
VBScriptでは、配列はアプリケーションオブジェクトに保存できますが、ASP言語がjscriptとして選択されている場合、少し悪いものになります。アプリケーションを使用して配列を保存すると、次のエラーが発生します。
引用:
アプリケーションオブジェクト、ASP 0197(0x80004005)
許可されていないオブジェクトの使用
アプリケーションの本質的なオブジェクトにアパートモデルの動作を備えたオブジェクトを追加することはできません。
特定の理由は、Microsoftの知識ベースに次のように記載されています。
引用:
JScriptアレイは、「アパート」comコンポーネントと見なされます。フリースレッドマーシャラー(FTM)を集約するコンポーネントオブジェクトモデル(COM)コンポーネントのみを、インターネット情報サーバー(IIS)5.0 ASPページ内のアプリケーションスコープに割り当てることができます。 「アパート」コンポーネントはFTMを集約できないため(「両方のFTM」オブジェクトとは異なり、直接ポインターをクライアントに渡すことはできません)、JScriptアレイはFTMを集計しません。したがって、JScriptアレイをASPページからアプリケーションスコープに割り当てることはできません。
上記の説明は次のように引用されています:PRB:IIS 5.0のアプリケーションスコープにJScriptアレイを保存するときのエラー
したがって、この問題を解決するために、Googleでの大規模な会議を検索し、最終的に「アプリケーションオブジェクトとStaticObjectsのキャッシュに関するいくつかの結論」を見つけました。この問題を解決するために、この方法はApplication.StaticObjectを使用してScripting.Dictionaryオブジェクトを保存し、Scripting.Dictionaryオブジェクトを使用して、キャッシュする必要があるデータを保存することです。
これに基づいて、操作キャッシュのクラスは、Put、Get、削除、およびクリアメソッドを実装するために書かれています。使用する前に、Global.asaにオブジェクトを追加する必要があります。
プログラムコード:
<object id = "xbscache" runat = "server" scope = "application" program = "scripting.dictionary"> </object>
クラスの実装は次のとおりです。
コードコピーは次のとおりです。<スクリプト言語= "jscript" runat = "server">
/**
タイトル:キャッシュオペレーティングクラス
説明:オペレーティングシステムのキャッシュ
@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();
}、
削除: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を使用するときのキャッシュ実装が完了します。 Error New Technologyチャンネルの編集者によってコンパイルされたコンテンツがあなたに助けを提供できることを願っています。