Saat menulis program ASP, untuk meningkatkan efisiensi program ASP dan mengurangi koneksi dan kueri ke database, teknologi caching biasanya digunakan untuk cache beberapa data yang perlu dibaca dari database. Selanjutnya, saluran teknologi baru yang salah akan membawa Anda untuk melihatnya!
contoh:
Kode Program:
Salinan kode adalah sebagai berikut:Redup, arr
Rs.open Conn, SQL, 1,1
arr = rs.getrows ()
Application.lock ()
Aplikasi ("cache") = arr
Applicattain.unlock ()
Dalam VBScript, array dapat disimpan dalam objek aplikasi, tetapi jika bahasa ASP dipilih sebagai JScript, maka itu akan sedikit buruk. Ketika kami menggunakan aplikasi untuk menyimpan array, kesalahan berikut akan terjadi:
Mengutip:
Objek Aplikasi, ASP 0197 (0x80004005)
Penggunaan objek yang tidak diizinkan
Tidak dapat menambahkan objek dengan perilaku model apartemen ke objek intrinsik aplikasi.
Alasan spesifik dapat ditemukan di basis pengetahuan Microsoft sebagai berikut:
Mengutip:
JScript Array dianggap sebagai komponen COM "apartemen". Hanya komponen Component Object Model (COM) yang mengumpulkan marshaler berulir bebas (FTM) yang dapat ditugaskan ke ruang lingkup aplikasi dalam halaman ASP Informasi Internet Server (IIS) 5.0. Karena komponen "apartemen" tidak dapat menggabungkan FTM (tidak dapat membiarkan pointer langsung diteruskan ke kliennya, tidak seperti objek "keduanya dengan FTM"), array JScript tidak menggabungkan FTM. Oleh karena itu, array JScript tidak dapat ditetapkan ke ruang lingkup aplikasi dari halaman ASP.
Deskripsi di atas dikutip dari: PRB: Kesalahan saat Anda menyimpan array jscript dalam ruang lingkup aplikasi di IIS 5.0
Oleh karena itu, untuk menyelesaikan masalah ini, saya mencari pertemuan besar di Google dan akhirnya menemukan artikel "Beberapa kesimpulan tentang cache untuk objek aplikasi dan staticObjects". Untuk mengatasi masalah ini, metode ini adalah menggunakan application.staticObject untuk menyimpan objek scripting.dictionary, dan kemudian menggunakan scripting.dictiony objek untuk menyimpan data yang perlu di -cache.
Berdasarkan hal ini, kelas untuk Operation Cache ditulis untuk mengimplementasikan metode put, dapatkan, hapus dan jelas. Sebelum menggunakannya, Anda perlu menambahkan objek di global.asa:
Kode Program:
<object id = "xbscache" runat = "server" scope = "application" program = "scripting.dictionary"> </pes object>
Implementasi kelas adalah sebagai berikut:
Salinan kode adalah sebagai berikut:<bahasa skrip = "jscript" runat = "server">
/**
Judul: Kelas Operasi Cache
Deskripsi: cache sistem operasi
@Copyright: Hak Cipta (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 (tombol, data) {
Application.lock ();
Application.staticObjects ("xbscache"). Item ("cache."+Key) = data;
Application.unlock ();
},
hapus: function (key) {
Application.lock ();
Application.staticObjects ("xbscache"). Hapus ("cache."+Tombol);
Application.unlock ();
},
CLEAR: function () {
Application.lock ();
Application.staticObjects ("xbscache"). RemoveAll ();
Application.unlock ();
}
}
</script>
Dengan cara ini, implementasi cache saat menggunakan JScript di ASP selesai. Saya harap konten yang disusun oleh editor saluran teknologi baru dapat memberi Anda bantuan.