При написании программ ASP, чтобы повысить эффективность программ ASP и уменьшить соединения и запросы в базу данных, технология кэширования обычно используется для кэширования некоторых данных, которые необходимо прочитать из базы данных. Затем, неправильный новый технологический канал заставит вас посмотреть!
пример:
Код программы:
Кода -копия выглядит следующим образом:Dim Rs, обр
Rs.open Conn, SQL, 1,1
arr = rs.getrows ()
Application.lock ()
Приложение ("Кэш") = обр
Application.unlock ()
В VBScript массивы могут храниться в объектах приложения, но если язык ASP выбран в качестве JScript, то это будет немного плохо. Когда мы используем приложение для хранения массива, произойдет следующая ошибка:
Цитировать:
Объект приложения, ASP 0197 (0x80004005)
Запрещенное использование объекта
Нельзя добавить объект с поведением модели квартиры в объект приложения.
Конкретные причины можно найти в базе знаний Microsoft следующим образом:
Цитировать:
Массивы JScript считаются компонентами Com. Только компонентные компоненты объекта (COM), которые агрегируют бесплатный резьбовой маршалер (FTM), могут быть назначены для области приложения на странице Intovership Information Server (IIS) 5.0. Поскольку компонент «квартиры» не может агрегировать FTM (он не может допустить, чтобы прямой указатель был передан своим клиентам, в отличие от объекта «оба с FTM»), массивы JScript не собирают FTM. Следовательно, массивы JScript не могут быть назначены на сфере приложения со страницы ASP.
Приведенное выше описание приведено из: prb: ошибка при хранении массива JScript в области приложения в IIS 5.0
Поэтому, чтобы решить эту проблему, я искал крупную встречу в Google и, наконец, обнаружил статью «Некоторые выводы о кэше для объектов приложения и статичков». Чтобы решить эту проблему, метод состоит в том, чтобы использовать Application.StaticObject для хранения объекта сценария. DICTIONARY, а затем использовать объект Screpting.dictionary для хранения данных, которые необходимо кэшировать.
Основываясь на этом, класс для кеша операции записан для реализации методов PUT, GET, удаления и очистки. Перед тем, как использовать его, вам нужно добавить объект в Global.asa:
Код программы:
<object id = "xbscache" runat = "server" scope = "application" program = "scripting.dictionary"> </object>
Реализация класса выглядит следующим образом:
Кода -копия выглядит следующим образом:<script language = "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 ();
},
ясно: function () {
Application.lock ();
Application.StaticObjects ("xbsCache"). RemovEall ();
Application.unlock ();
}
}
</script>
Таким образом, реализация кэша при использовании JScript в ASP завершена. Я надеюсь, что контент, составленный редактором «Ошибка Нового технологического канала», может оказать вам помощь.