Лучший способ создать карту в Classic ASP - PullRequest
0 голосов
/ 18 марта 2009

В настоящее время я переписываю некоторый код PHP 4 в Classic ASP (не спрашиваю) и пытаюсь понять, есть ли лучший способ загрузить большую карту в память, чем просто жесткое кодирование каждой пары в.

Чтобы дать вам представление, в PHP есть около 300 уникальных пар «ключ-значение» в определении хешированного массива (или как его там называют).
Я испытываю желание сделать это снова в ASP, как:

<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>

При загрузке этой карты в память для каждого вызова, есть ли другой способ сделать это быстрее? Единственный раз, когда используется карта, это выяснить, соответствует ли аргумент одному из ключей - если это так, значение извлекается и возвращается.

Спасибо за вашу помощь.

Ответы [ 4 ]

0 голосов
/ 31 марта 2009

Как говорит schar, сохраните объект словаря в объекте Application.

0 голосов
/ 18 марта 2009

Я только что узнал о глобальном кеше ASP, который позволил бы мне создать карту один раз, поместить ее в кеш, и любой будущий запрос может просто вытащить ее из кеша. Кэш хранится в памяти, поэтому производительность должна быть значительно увеличена.

<%
Application.Contents(object here)
%>

Приветствия

0 голосов
/ 18 марта 2009

Что ж, вам нужно понять объекты Application и Session в ASP, прежде чем продолжить проект. Я предполагал, что у вас есть причина оставить это вне глобального кэша (например, постоянно обновлять содержимое объекта в соответствии с предпочтениями пользователя)

Всего наилучшего

0 голосов
/ 18 марта 2009

Если вы используете классический ASP, вам придется зависеть от одного из этих объектов. Использование таблицы базы данных или XML - другие варианты, которые вы можете изучить.

Я бы посоветовал вам не вызывать это снова и снова, если вы используете это примерно для 300 предметов.

...