Na depuração do programa, às vezes preciso saber quantas variáveis de sessão são usadas e qual é o seu valor? Como o objeto de sessão fornece uma coleção chamada conteúdo, podemos atingir a meta através da ... cada loop: Dim strname, iloop, iloop
Para cada strname em session.contents
Response.Write strname & " -" & session.Contents (strname) & "<br>"
Em geral, o código acima pode funcionar bem. Mas quando a variável da sessão é um objeto ou uma matriz, os resultados da impressão estão incorretos. Dessa forma, modificamos o código da seguinte forma: "Primeiro veja quantas variáveis de sessão estão usando? Response.write" existe "& session.contents.count & _
"Variáveis de sessão <p>" "
Dim strname, ILOOP
'Use para cada um para verificar session.contents
'Se a variável da sessão for uma matriz?
Se Isarray (sessão (strname) então
'Cada elemento de uma matriz de impressão circular
Para ilop = lbound (sessão (strname)) para ubound (sessão (strname))
Response.Write strName & "(" & ILOOP & ") -" & _
Sessão (strname) (ilop) e "<br>"
Próximo
Outro
'Em outros casos, basta imprimir o valor da variável simplesmente
Response.Write strname & " -" & session.Contents (strname) & "<br>"
Final se
As variáveis da próxima sessão às vezes não podem funcionar, por quê? Existem muitas possibilidades:
Primeiro, se o cliente não permitir que os cookies operem, a sessão falhará. Porque a sessão depende de cookies.
Segundo, a sessão tem a configuração do tempo de falha. As configurações padrão são de 20 minutos. Você pode modificar assim: Web Diretory-> Propriedades-> Diretório Virtual-> Configurações do Aplicativo-> Configuração-> Opções do App> Timeoutout Session
Ou no ASP, escreva esse código: session.timeout = 60.
Terceiro, a sessão está relacionada ao aplicativo Web específico. Se o usuário navegar de /products/default.asp para /jobs/default.asp, também poderá causar a re -criação da sessão. Como limpar uma variável de sessão que não precisa mais, mas não faz com que a sessão falhe? Em Asp3.0:
Session.contents.Remove "Nome da variável"
Você pode remover uma variável.
Em ASP2.0:
Definir sessão ("Nome da variável") = nulo
Pode limpar variáveis.
Em Asp3.0,
Session.contents.removeal
Você pode limpar todas as variáveis da sessão e sessões.Abandon. O que o < %@ enableSessionState = true %> na parte superior da página ASP significa? O IIS usa uma tecnologia chamada rastreamento de sessão para garantir que cada variável de sessão esteja disponível em cada página. Quando um usuário visita uma determinada página do ASP, o IIS primeiro preparará cada variável de sessão para esta página, o que, é claro, terá efeitos de desempenho. (O custo do uso da variável da sessão é sempre muito alto!)
Se você tiver 100 páginas e apenas 5 páginas são usadas para sessão, para o desempenho geral, você só precisará defini -lo nessas 5 páginas:
< %@ EnableSessionState = true %>
E outras páginas estão definidas como:
< %@ EnableSessionState = false %>