Melhor maneira de criar um mapa no ASP clássico
-
20-08-2019 - |
Pergunta
Atualmente estou reescrevendo algum código PHP 4 para o ASP clássico (não pergunte) e tentando descobrir se há uma maneira melhor para carregar um mapa grande para a memória do que apenas a codificação dura cada par em.
Para se ter uma idéia, há cerca de 300 pares de valores chave exclusiva na definição de matriz hash (ou o que é chamado) no PHP.
Estou tentado a fazer isso de novo no ASP como:
<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>
Com este mapa ficando carregado na memória para cada chamada, existe alguma outra maneira de fazer isso que seria mais rápido? A única vez que o mapa é usado é para descobrir se um argumento corresponde até uma das chaves -. Se assim o valor é puxado para fora e voltou
Obrigado por sua ajuda.
Solução
Bem, você precisa entender a Aplicação e Sessão objetos em ASP antes de continuar com o projeto. Eu estava sob o pressuposto de que você tem uma razão para manter isso fora do cache global (como constantemente ter que atualizar o conteúdo do objeto com base na preferência do usuário)
Todo o melhor
Outras dicas
Se você estiver usando ASP clássico, então você vai ter que depender de um desses objetos. Usando uma tabela de banco de dados ou XML são outras opções que você pode explorar.
Eu sugiro que você certifique-se de não chamar isso de novo e de novo se você estiver usando isso por cerca de 300 itens.
Eu só descobri sobre um cache ASP global que me permitiria construir o mapa uma vez, colocá-lo no cache e qualquer pedido futuro pode simplesmente retirá-lo do cache. O cache é mantido na memória por isso o desempenho deve ser aumentado dramaticamente.
<%
Application.Contents(object here)
%>
Felicidades
Como schar diz, armazenar o objeto de dicionário no objeto Application.