Objeto Aplicativo
O objeto Aplicativo é um objeto em nível de aplicativo usado para compartilhar informações entre todos os usuários e para persistir dados enquanto o aplicativo Web está em execução.
Propriedades do aplicativo:
Veja como:
O objeto Application não possui propriedades integradas, mas podemos criar suas próprias propriedades.
<% Aplicativo("nome da propriedade")=valor%>
Na verdade, a maioria das variáveis Application são armazenadas na coleção Contents. Ao criar uma nova variável Application, você adiciona um item à coleção Contents. Os dois scripts a seguir são equivalentes:
<% Application("greeting")="hello %> ou <% Application.contents("greeting")="hello!" vários métodos vezes, como um loop For Each.
<%
Para cada item em Application.Contents
Response.write("<br>"&item&Application.Contents(item))
próximo
%>
Método de aplicação:
O aplicativo possui apenas dois métodos: um é Bloquear e o outro é Desbloquear. O método Lock é usado para garantir que apenas um usuário possa operar o Aplicativo ao mesmo tempo. Unlock é usado para cancelar as restrições do método Lock. como:
<%
Aplicativo.Lock
Aplicativo("num_visitante")=Aplicativo("num_visitante")+1
Aplicativo.Desbloquear
%>
Eventos de aplicação:
1.Application_OnStart()
Disparado quando o aplicativo de evento é iniciado.
2.Aplicativo_OnEnd()
Este evento é disparado quando o aplicativo termina.
Esses dois processos de eventos devem ser definidos no arquivo Global.asp. Geralmente, a função de conexão de dados é definida nesses dois eventos e depois colocada em Global.asp. Por exemplo:
Subaplicativo_OnStart
Aplicação("tt18_ConnectionString") = "driver={SQL
Servidor};servidor=jeff;uid=sa;pwd=;banco de dados=teste"
Finalizar sub
Um array pode ser definido como um objeto Aplicativo, mas esse array só pode ser salvo como um objeto e seu valor não pode ser recuperado usando Application(0). Você pode definir um array temporário para realizar esta função. como:
<%
dimArray()
Matriz=Aplicativo("matriz")
para i = 0 para ubound (matriz)
Matriz Response.write (i)
próximo eu
%>
Para modificar o objeto Aplicativo, você também pode definir uma matriz temporária, atribuir o objeto Aplicativo à matriz, modificar os elementos da matriz e, finalmente, atribuir a matriz de volta ao objeto Aplicativo. como:
<%
dimArray()
Matriz=Aplicativo("matriz")
Array(0)="jeff"
Array(1)="zhu"
Aplicativo.lock
Aplicação("matriz") = Matriz
Aplicativo.unlock
%>
Objeto ObjectContext
Este objeto é usado para controlar o processamento de transações de Active Server Pages. O processamento de transações é gerenciado pelo Microsoft Transaction Server (MTS).
O evento
ObjectContext.OnTransactionAbort
é acionado pelo evento de transação anulada e ocorre após o processamento do script ser concluído.
ObjectContext.OnTransactionCommit
é acionado por um evento de transação bem-sucedido e ocorre após o processamento do script ser concluído.
O método
ObjectContext.SetAbort
anula explicitamente uma transação.
ObjectContext.SetComplete
substitui qualquer chamada anterior ao método ObjectContext.SetAbort.
Objeto de solicitação
O objeto Request é usado para aceitar todas as informações em todas as solicitações enviadas do navegador para o seu servidor.
Coleção
Request.ClientCertificate(key[SubField])
Uma coleção de informações sobre todos os certificados de cliente. Para Key, a coleção possui as seguintes palavras-chave:
Assunto
O assunto do certificado. Contém todas as informações sobre recebimentos de certificados. Pode ser usado com todos os sufixos de subdomínio.
Emissor
O emissor do certificado. Contém todas as informações sobre verificação de certificado. Pode ser usado com todos os sufixos de subdomínio, exceto CN.
VadidDe
A data em que o certificado foi emitido. Utilize o formato VBScript.
Válido até
O certificado não é mais válido.
Número de série
Contém o número de série do certificado.
Certificado
Um fluxo binário contendo todo o conteúdo do certificado, usando o formato ASN.1.
Para SubField, as palavras-chave Subject e Issuer podem ter o seguinte sufixo de subdomínio: (por exemplo: SubjectOU ou IssuerL)
C
País de origem.
Ó
Nome da empresa ou organização.
UO
unidade organizacional.
PT
O nome normal do usuário.
eu
Parcialmente.
S
Estado (ou província).
T
O título da pessoa ou empresa.
GN
nome dado.
EU
inicial.
Quando o arquivo cervbs.inc (usado por VBScript) ou cerjavas.inc (usado por Jscript) é incluído em sua Active Server Page usando a diretiva #INCLUDE, os dois sinalizadores a seguir podem ser usados:
ceCertPresent
Indica se o certificado cliente existe, seu valor é TRUE ou FALSE.
ceUnrecongnizedIssure
Indica se o emissor do último certificado da lista é desconhecido, seu valor é VERDADEIRO ou FALSO.
Request.Cookies(Cookie[(key).Attribute])
Coleção de Cookies. Permitir a obtenção de cookies do navegador. Cookie indica qual cookie retornar. Key é usada para retornar o valor do Cookie com uma determinada palavra-chave do dicionário Cookie. Para Atributo, você pode usar o atributo HasKeys para determinar se um cookie possui subchaves. O valor de HasKeys é TRUE ou FALSE.
Request.Form(Parameter)[(Index).Count]
preenche a coleção de todos os dados do formulário HTML. Parâmetro é o nome de um elemento em um formulário HTML. O índice é utilizado quando um parâmetro possui mais de um valor (por exemplo, ao utilizar o atributo MULTIPLE em <SELECT>). Quando um parâmetro tem vários valores, Count especifica o número de vários valores.
Request.QueryString(Varible)[(Index).Count]
A coleção de todos os valores da string de consulta. Variável é o nome de uma variável na string de consulta. O índice é usado quando uma variável tem mais de um valor. Quando um parâmetro possui vários valores, Count especifica o número de valores.
Request.ServerVaribles (variável de ambiente do servidor)
Uma coleção de variáveis de ambiente. Permite a leitura de cabeçalhos HTTP. Você pode ler qualquer informação de cabeçalho usando o prefixo HTTP_. Por exemplo, HTTP_USER_AGENT aceita o cabeçalho HTTP Client-Agent (tipo de navegador). Caso contrário, você poderá obter qualquer informação do ambiente usando as variáveis mostradas na tabela abaixo.
ALL_HTTP
Todos os cabeçalhos HTTP enviados pelo cliente e seus resultados são prefixados com HTTP_.
ALL_RAW
Todos os cabeçalhos HTTP enviados pelo cliente têm o mesmo resultado de quando enviados pelo cliente, sem o prefixo
HTTP_APPL_MD_PATH
O caminho da metabase do aplicativo.
APPL_PHYSICAL_PATH
O caminho físico correspondente ao caminho da metabase do aplicativo.
AUTH_SENHA
A senha inserida pelo cliente na caixa de diálogo de senha ao usar o modo de autenticação básica.
AUTH_TYPE
Este é o método de autenticação usado pelo servidor para verificar os usuários quando eles acessam scripts protegidos.
AUTH_USER
Nome de usuário para verificação.
CERT_COOKIE
Número de identificação exclusivo do certificado do cliente.
CERT_FLAG
Sinalizador de certificado de cliente. Se houver um certificado de cliente, bit0 será 0. Se a verificação do certificado do cliente for inválida, bit1 será definido como 1.
CERT_ISSUER
O campo do emissor no certificado do usuário.
CERT_KEYSIZE
O número de bits da palavra-chave de conexão Secure Socket Layer, como 128.
CERT_SECRETKEYSIZE
O número de dígitos na chave privada que o servidor verifica. Como 1024.
CERT_SERIALNUMBER
O campo do número de série do certificado do cliente.
CERT_SERVER_ISSUER
O campo emissor do certificado do servidor
CERT_SERVER_SUBJECT
O campo de assunto do certificado do servidor.
CERT_ASSUNTO
O campo de assunto do certificado do cliente.
CONTENT_LENGTH
A extensão do conteúdo enviado pelo cliente.
CONTENT_TYPE
O conteúdo do formulário enviado pelo cliente ou o tipo de dados HTTP PUT.
GATEWAY_INTERFACE
A interface de gateway usada pelo servidor.
HTTPS
Retorna ON se a solicitação passou por um canal seguro (SSL). Se a solicitação vier de um canal não seguro, retorne OFF.
HTTPS_KEYSIZE
O número de bits da palavra-chave de conexão Secure Socket Layer, como 128.
HTTPS_SECRETKEYSIZE
O número de dígitos na chave privada que o servidor verifica. Como 1024.
HTTPS_SERVER_ISSUER
O campo emissor do certificado do servidor.
HTTPS_SERVER_SUBJECT
O campo de assunto do certificado do servidor.
INSTANCE_ID
O número de ID da instância do IIS.
INSTANCE_META_PATH
O caminho da metabase da instância do IIS que respondeu à solicitação.
LOCAL_ADDR
Retorna o endereço do servidor que aceitou a solicitação.
LOGON_USER
O usuário efetua login no Windows NT com a conta
PATH_INFO
Informações de caminho fornecidas pelo cliente.
PATH_TRANSLATED
O caminho obtido pelo mapeamento de virtual para físico.
QUERY_STRING
Conteúdo da string de consulta.
REMOTE_ADDR
O endereço IP do host remoto que faz a solicitação.
REMOTE_HOST
O nome do host remoto do qual a solicitação foi feita.
REQUEST_METHOD
Método de fazer uma solicitação. Como GET, HEAD, POST, etc.
SCRIPT_NAME
O nome do script executado.
SERVER_NAME
O nome do host, endereço DNS ou endereço IP do servidor.
SERVER_PORT
O número da porta do servidor que aceita solicitações.
SERVER_PORT_SECURE
Se a porta do servidor que aceita a solicitação for uma porta segura, será 1, caso contrário, será 0.
SERVER_PROTOCOL
O nome e a versão do protocolo usado pelo servidor.
SERVIDOR_SOFTWARE
O nome e a versão do software do servidor que responde às solicitações e executa o gateway.
URL
Forneça a parte básica do URL.
O método
Request.BinaryRead(Count)
recebe o conteúdo não processado de um formulário HTML. Quando esse método é chamado, Count indica quantos bytes serão recebidos. Após chamar esse método, Count indica quantos bytes foram realmente recebidos.
Propriedade
Request.TotalBytesO
comprimento do corpo da consulta, em bytes
Objeto Response
O objeto Response é usado para enviar dados ao navegador do cliente. Os usuários podem usar este objeto para enviar dados do servidor ao navegador do cliente em formato HTML. Ele e Solicitação formam um par de objetos para receber e enviar dados. base para alcançar a dinâmica. Suas propriedades e métodos comumente usados são apresentados abaixo.
1. Atributo Buffer Este atributo é usado para especificar se um buffer deve ser usado ao gerar a página. O valor padrão é False. Quando for True, os resultados não serão enviados ao navegador até que toda a Active Server Page seja executada. como:
<%Response.Buffer=True%>
<html>
<Cabeça>
<title>Exemplo de buffer</title>
</head>
<corpo>
<%
para i = 1 a 500
resposta.write(i & "<br>")
próximo
%>
</body>
</html>
Quando esta página for executada, todo o conteúdo de toda a página inicial será exibido no navegador ao mesmo tempo, e a página inicial será armazenada no cache até que a execução do script seja concluída.
2. Atributo Expires Este atributo é usado para definir o período de tempo (em minutos) que o navegador armazena em cache a página e deve ser atualizado no lado do servidor. Com as seguintes configurações:
<%Response.Expires=0%>
Ao adicionar esta linha de código ao arquivo ASP, cada solicitação é necessária para atualizar a página, pois a página expirará assim que a resposta for recebida.
3. Método Write Este método envia dados para o navegador do cliente, como:
<%Response.write "Olá, mundo!"%>
4. Método de redirecionamento Este método permite que o navegador seja realocado para outra URL. Desta forma, quando o cliente faz uma solicitação da Web, o tipo de navegador do cliente é determinado e o cliente é realocado para a página correspondente. como:
<html>
<cabeça>
<title>Exemplo de redirecionamento</title>
</head>
<corpo>
<form aciton="formjump.asp" método="post">
<selecione nome="para onde ir">
<option selected value="fun">Diversão</option>
<option value="news">Notícias</option>
<option value="sample">Amostra</option>
</selecionar>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
O acima é o formulário enviado e o seguinte é o arquivo formjump.asp que processa o formulário:
<%response.buff=true%>
<html>
<cabeça>
<title>Exemplo de redirecionamento</title>
</head>
<corpo>
<%
thisurl=" http://www.tinyu.com/ ";
where=Request.form("para onde ir")
Selecione Caso onde
caso "divertido"
resposta.redirect este URL & "/fun/default.asp"
caso "notícias"
resposta.redirect este URL & "/news/default.asp"
caso "amostra"
resposta.redirect este URL & "/sample/default.asp"
Finalizar seleção
%>
</body>
<html>
Neste exemplo, quando o usuário faz uma seleção, ele pressiona o botão “Pular” para enviar o formulário. Após receber a aplicação, o servidor chama formjump.asp para determinar e localizar a URL correspondente. No entanto, uma coisa a ser observada aqui é que o cabeçalho HTTP foi gravado no navegador do cliente. Qualquer modificação no cabeçalho HTTP deve ser feita antes de gravar o conteúdo da página. Ao encontrar esse problema, você pode fazer o seguinte:
No início do arquivo, após <@ Language=..> escreva:
Response.Buffer = Verdadeiro
Decida no final:
Resposta.Flush
Flush aqui é um método de Response, que só pode ser usado quando a propriedade Buffer estiver definida como True, caso contrário será gerado um erro no modo de execução. Outro método Clear também é usado para limpar páginas em cache. Ele também pode ser usado quando a propriedade Buffer está definida como True.
5. Método End Este método é usado para instruir o Active Server a parar o processamento de arquivos ASP ao encontrar esse método. Se a propriedade Buffer do objeto Response estiver definida como True, o método End enviará o conteúdo do cache ao cliente e limpará o buffer. Portanto, para cancelar todas as saídas para clientes, você pode primeiro limpar o buffer e depois usar o método End. como:
<%
Response.buffer=true
Em caso de erro, retome a seguir
Err.claro
se Err.número<>0 então
Resposta.Limpar
Resposta.Fim
terminar se
%>
Objeto Servidor:
O objeto Servidor fornece acesso a métodos e propriedades no servidor. A maioria desses métodos e propriedades servem como funções utilitárias.
Sintaxe
Server.property|
propriedade
do métodoScriptTimeout:
A propriedade ScriptTimeout especifica o tempo máximo que um script pode ser executado antes de terminar. Ao trabalhar com componentes do servidor, o limite de tempo limite não terá mais efeito.
Sintaxe Server.ScriptTimeout = NumSeconds
Parâmetro NumSeconds
Especifica o número máximo de segundos que um script pode ser executado antes de ser encerrado pelo servidor. O valor padrão é 90 segundos.
Observação Você pode definir um valor ScriptTimeout padrão para um serviço Web ou servidor Web usando a propriedade AspScriptTimeout na metabase. A propriedade ScriptTimeout não pode ser definida como inferior ao valor especificado na metabase. Por exemplo, se NumSeconds estiver definido como 10 e a configuração da metabase contiver o valor padrão de 90 segundos, o script expirará após 90 segundos. Mas se NumSeconds estiver definido como 100, o script expirará após 100 segundos.
Para obter mais informações sobre como usar a metabase, consulte Sobre a metabase.
Exemplo O exemplo a seguir expirará se o servidor demorar mais de 100 segundos para processar o script.
<% Servidor.ScriptTimeout = 100%>
O exemplo a seguir obtém o valor atual da propriedade ScriptTimeout e o armazena na variável TimeOut.
<% TimeOut = Server.ScriptTimeout %>
Método
CreateObject
O método CreateObject cria uma instância do componente do servidor. Se o componente executar os métodos OnStartPage e OnEndPage, o método OnStartPage será chamado neste momento. Para obter mais informações sobre componentes de servidor, consulte Componentes ASP instaláveis.
Sintaxe Server.CreateObject( progID )
O parâmetro progID especifica o tipo de objeto a ser criado. O formato do progID é [Vendor.] componente[.Versão].
Nota Por padrão, os objetos criados pelo método Server.CreateObject possuem escopo de página. Isso significa que o servidor destruirá automaticamente esses objetos após o processamento da página ASP atual. Para criar um objeto com escopo de sessão ou aplicativo, você pode usar a tag <OBJECT> e definir o atributo SCOPE de SESSION ou APPLICATION, ou pode armazenar o objeto em variáveis de sessão e aplicativo.
Por exemplo, no script mostrado abaixo, quando o objeto Session for destruído, ou seja, quando a conversa atingir o tempo limite ou o método Abandon for chamado, os objetos armazenados nas variáveis de sessão também serão destruídos.
<% Definir Sessão("ad") = Server.CreateObject("MSWC.AdRotator")%>
Você pode destruir um objeto definindo a variável como Nothing ou um novo valor, conforme mostrado abaixo. O primeiro exemplo libera o objeto de anúncio e o segundo exemplo substitui anúncio por uma string.
<% Sessão ("anúncio") = Nada %>
<% Sessão ("anúncio") = "Outro Valor" %>
Uma instância de objeto com o mesmo nome de um objeto integrado não pode ser criada. Por exemplo, o script a seguir retornará um erro.
<% Definir Resposta = Server.CreateObject("Response") %>
Exemplo <% Definir MyAd = Server.CreateObject("MSWC.AdRotator") %>
O exemplo acima cria um componente de servidor MSWC.AdRotator chamado MyAd. O componente MSWC.AdRotator pode ser usado para girar anúncios automaticamente em páginas da Web.
Para obter mais informações sobre componentes de servidor, consulte Criando componentes para ASP.
O método HTMLEncode aplica a codificação HTML à string especificada.
Sintaxe Server.HTMLEncode(string)
Parâmetro string especifica a string a ser codificada.
Script de exemplo <%= Server.HTMLEncode("A tag de parágrafo: <P>") %>
Saída A tag de parágrafo: <P>
Observe que a saída acima será exibida pelo navegador da web como A tag de parágrafo: <P>If você olha o arquivo de origem ou abre uma página da Web em modo de texto e pode ver o HTML codificado.
MapPath
O método MapPath mapeia o caminho relativo ou virtual especificado para o diretório físico correspondente no servidor.
gramática
Parâmetro
Server.MapPath(Path)
Caminho
Especifique um caminho relativo ou virtual para o diretório físico a ser mapeado. Se Path começar com uma barra (/) ou barra invertida (), o método MapPath tratará Path como um caminho virtual completo ao retornar o caminho. Se Path não começar com uma barra, o método MapPath retornará um caminho relativo a um caminho existente no arquivo .asp.
Comentário
O método MapPath não oferece suporte à sintaxe de caminho relativo (.) ou (..). Por exemplo, o seguinte caminho relativo ../MyDir/MyFile.txt retorna um erro.
O método MapPath não verifica se o caminho retornado está correto ou existe no servidor.
Como o método MapPath mapeia apenas caminhos, independentemente da existência do diretório especificado, você pode primeiro usar o método MapPath para mapear o caminho para a estrutura de diretório física e depois passá-lo para o componente que cria o diretório ou arquivo especificado no servidor.
Exemplo Para o exemplo a seguir, o arquivo data.txt e o arquivo test.asp que contém o script a seguir estão localizados no diretório C:InetpubWwwrootScript. O diretório C:InetpubWwwroot é definido como o diretório inicial do servidor.
O exemplo a seguir usa a variável de servidor PATH_INFO para mapear o caminho físico para o arquivo atual. roteiro
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%><BR>
Saída
c:inetpubwwwrootscripttest.asp<BR>
Como os parâmetros de caminho nos exemplos a seguir não começam com uma barra, eles são relativamente mapeados para o diretório atual, neste caso C:InetpubWwwroot Roteiro. roteiro
<%= server.mappath("data.txt")%><BR>
<%= server.mappath("script/data.txt")%><BR>
Saída
c:inetpubwwwrootscriptdata.txt<BR>
c:inetpubwwwrootscriptscriptdata.txt<BR>
Os próximos dois exemplos usam o caractere de barra para especificar que o caminho retornado deve ser tratado como o caminho virtual completo no servidor. roteiro
<%= server.mappath("/script/data.txt")%><BR>
<%= server.mappath("script")%><BR>
Saída
c:inetpubscriptdata.txt<BR>
c:inetpubscript<BR>
O exemplo a seguir mostra como usar barra (/) ou barra invertida () para retornar o caminho físico do diretório host. roteiro
<%= server.mappath("/")%><BR>
<%= server.mappath("")%><BR>
Saída
c:inetpubwwwroot<BR>
c:inetpubwwwroot<BR>
URLEncode
O método URLEncode aplica regras de codificação de URL, incluindo caracteres de escape, à string especificada.
gramática
Servidor.URLEncode(string)
parâmetro
String especifica a string a ser codificada.
Script de exemplo <%Response.Write(Server.URLEncode(" http://www.tinyu.com ";)) %>
saída http%3A%2F%2Fwww%2Etinyu%2Ecom
O objeto Session
Session, na verdade, refere-se ao período de tempo desde o momento em que um visitante chega a uma página inicial específica até o momento em que ele sai. Cada visitante receberá uma sessão separada. Em uma aplicação web, quando um usuário acessa a aplicação, variáveis do tipo Session podem ser utilizadas pelo usuário para compartilhar dados em todas as páginas da aplicação web, caso outro usuário também acesse a aplicação web ao mesmo tempo, ele também possui a sua própria; Variáveis de Sessão, mas as informações não podem ser compartilhadas entre dois usuários por meio de variáveis de Sessão, enquanto alterações do tipo Aplicativo podem compartilhar informações em todas as páginas entre vários usuários do site.
1. Atributo SessionID Este atributo retorna o identificador único da sessão atual e atribui um número diferente a cada Sessão.
Certa vez, encontrei o problema de controle do usuário durante o processo de desenvolvimento. A função que se deseja alcançar é que para um módulo de um determinado site, quando um membro estiver visualizando este módulo após o login, e outra pessoa fizer login com o mesmo nome de membro, ele não poderá navegar neste módulo. Em outras palavras, apenas uma pessoa com um nome de membro pode navegar neste módulo ao mesmo tempo. Implementei o controle usando o nome do membro (assumido como UserID, exclusivo) e SessionID. Quando um membro fizer login, forneça ao membro uma sessão para registrar o status de login, como: Session("Status")="Logged", e grave o Session.SessionID do membro no banco de dados. Quando ele deseja navegar neste módulo, ele primeiro determina se está logado. Se já estiver logado, ele determina se seu ID de sessão é o mesmo registrado no banco de dados. Se for diferente, ele não poderá acessá-lo. Desta forma, quando outro usuário efetua login com o mesmo nome de membro, o novo SessionID é registrado no banco de dados, e o primeiro não pode passar na verificação ao acessar este módulo. Isso permite que apenas uma pessoa com um nome de membro navegue em um determinado módulo ao mesmo tempo. Esta função tem um efeito especial em alguns sites pagos. Ela evita o problema de um nome de membro ser navegado por várias pessoas e protege os interesses da empresa.
2. Atributo TimeOut Este atributo é utilizado para definir o limite de tempo do objeto Session do usuário. Se o usuário não atualizar a página da web dentro do tempo especificado, o objeto Session será encerrado. O padrão geral é 20 minutos.
3. Método Abandonar Este método é o único método do objeto Session. Ele pode limpar o objeto Session e é usado para eliminar o objeto Session do usuário e liberar os recursos que ele ocupa. Por exemplo: <% Sessão.Abandon %>
4. Os eventos Session_OnStart e Session_OnEnd são iguais aos de Application. O evento Session_OnStart é acionado toda vez que a rotina do objeto é iniciada e em seguida é executado o processamento do evento Session_Onstart. Ou seja, quando o servidor recebe uma solicitação HTTP para a URL na aplicação, esse evento é acionado e um objeto Session é estabelecido. Da mesma forma, este evento também deve ser configurado no arquivo Global.asa.
Quando o método Session.Abandon é chamado ou não há atualização dentro do tempo TimeOut, isso irá acionar o evento Session_OnEnd e então executar o script dentro dele. As variáveis de sessão estão associadas a usuários específicos. As variáveis de sessão atribuídas a um determinado usuário são completamente independentes das variáveis de sessão de outros usuários e não afetarão umas às outras.
A sessão aplica uma coluna:
Assim como Application, um array definido como tipo Session só pode tratar todo o array como um objeto, e os usuários não podem alterar diretamente o valor de um elemento no array Session. Para criar um array de Sessão, você precisa primeiro definir um array comum, atribuir um valor inicial a cada elemento dele e, finalmente, defini-lo como um array de Sessão. como:
<%
desorganizar()
array=array("李","明","男")
Sessão("info")=array
Response.write Sessão("info")(0) &"-"
Response.write Sessão("info")(1) &"-"
Response.write Sessão("info")(2) &"<br>"
%>
<h>
<%
array(0)="dia"
array(1)="Yu"
array(2)="Masculino"
Sessão("info")=array
Response.write Sessão("info")(0) & "-"
Sessão Response.write("info")(1) & "-"
Response.write Sessão("info")(2) & "<br>"
%>