Лучший способ создать карту в Classic ASP
-
20-08-2019 - |
Вопрос
В настоящее время я переписываю некоторый код PHP 4 в Classic ASP (не спрашивайте) и пытаюсь выяснить, есть ли лучший способ загрузить большую карту в память, чем просто жесткое кодирование каждой пары.
Чтобы дать вам представление: в определении хеш-массива (или как там оно называется) в PHP существует около 300 уникальных пар «ключ-значение».
У меня возникает соблазн просто сделать это еще раз в ASP, например:
<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>
Если эта карта загружается в память при каждом вызове, есть ли какой-нибудь другой способ сделать это быстрее?Единственный раз, когда карта используется, — это выяснить, соответствует ли аргумент одному из ключей — если да, то значение извлекается и возвращается.
Спасибо за вашу помощь.
Решение
Перед тем, как продолжить работу с проектом, вам необходимо понять объекты Application и Session в ASP. Я полагал, что у вас есть причина оставить это вне глобального кэша (например, постоянно обновлять содержимое объекта в соответствии с предпочтениями пользователя)
Всего наилучшего
Другие советы
Если вы используете классический ASP, вам придется зависеть от одного из этих объектов. Использование таблицы базы данных или XML - другие варианты, которые вы можете изучить.
Я бы посоветовал вам не вызывать это снова и снова, если вы используете это для примерно 300 наименований.
Я только что узнал о глобальном кеше ASP, который позволит мне один раз построить карту, поместить ее в кеш, и любой будущий запрос может просто вытащить ее из кеша.Кэш хранится в памяти, поэтому производительность должна быть значительно увеличена.
<%
Application.Contents(object here)
%>
Ваше здоровье
Как говорит schar, сохраните объект словаря в объекте Application.