Recomendado: Interpretação de como usar corretamente as variáveis de objeto de sessão em ASP Qualquer pessoa que use o ASP sabe que um objeto de sessão armazena as informações necessárias para uma sessão de usuário específica e, quando um usuário pula entre as páginas do aplicativo, as variáveis armazenadas no objeto de sessão não são limpas e essas variáveis estão sempre presentes quando o usuário acessa a página no aplicativo. Pode reduzir a complexidade do programa e melhorar a eficiência da programação, mas também possui muitas deficiências.
1. Atributos1. SessionID
A propriedade SessionID retorna a identidade da sessão do usuário. Ao criar uma sessão, o servidor gera uma identidade separada para cada sessão. O identificador de sessão é retornado como o tipo de dados alongado. Em muitos casos, o SessionID pode ser usado para estatísticas de registro da página da web.
2. Tempo limite
A propriedade Timeout especifica um prazo de tempo limite para o objeto de sessão do aplicativo em minutos. Se o usuário não atualizar ou solicitar uma página da Web dentro deste período de tempo limite, a sessão será encerrada.
2. Método
Existe apenas um método para objetos de sessão, que é abandonado. O método abandonado exclui todos os objetos armazenados em objetos de sessão e libera a fonte desses objetos. Se você não chamar explicitamente o método de abandono, o servidor excluirá esses objetos assim que a sessão se divirta. Quando o servidor terminar de processar a página atual, o exemplo a seguir libera o estado da sessão.
<%Session.abandon%>
Iii. Eventos
O objeto de sessão tem dois eventos que podem ser usados quando o objeto de sessão é iniciado e lançado é executado.
1. O evento session_onstart ocorre quando o servidor cria uma nova sessão. O servidor processa o script antes de executar a página solicitada. O evento session_onstart é o melhor momento para definir variáveis de sessão, porque elas são definidas antes de acessar qualquer página.
Embora o objeto de sessão permaneça quando o evento session_onstart contém chamadas de método de redirecionamento ou final, o servidor interrompe o processamento do arquivo global.ASA e acionará o script no arquivo que aciona o evento session_onstart.
Para garantir que o usuário sempre inicie uma sessão ao abrir uma página da Web específica, o método de redirecionamento pode ser chamado no evento Session_Onstart. Quando o usuário insere o aplicativo, o servidor cria uma sessão para o usuário e processa o script de evento session_onstart. Você pode incluir o script neste evento para verificar se a página aberta pelo usuário é uma página de inicialização e, se não, instruir o usuário a chamar o método Response.Redirect para iniciar a página da Web. O procedimento é o seguinte:
<Scriptrunat = serverLanguage = vbscript>
Samession_Onstart
startPage =/myApp/starthere.asp
CurrentPage = request.Servervariables (script_name)
ifstrComp (CurrentPage, startpage, 1) então
Response.Redirect (StartPage)
endif
Endsub
</Script>
Os programas acima podem ser executados apenas em navegadores que suportam cookies. Como os navegadores que não suportam cookies não podem retornar sessionIDcookies, o servidor cria uma nova sessão sempre que um usuário solicitar uma página da web. Dessa forma, para cada servidor solicitante, o script session_onstart será processado e o usuário será redirecionado para a página de inicialização.
2. O evento session_onend ocorre quando a sessão é abandonada ou cronometrada.
Em relação aos assuntos que precisam receber atenção ao usar objetos de sessão, consulte o artigo anterior.
A sessão pode ser iniciada nas três maneiras seguintes:
1. Um novo usuário solicita acesso a uma URL que identifica o arquivo .asp em um aplicativo e o arquivo global.asa do aplicativo contém o processo session_onstart.
2. O usuário armazena um valor no objeto de sessão.
3. O usuário solicitou o arquivo .asp de um aplicativo e o arquivo global.asa do aplicativo usa a tag <ject> para criar uma instância de um objeto com um escopo de sessão.
Se o usuário não solicitar ou atualizar nenhuma página no aplicativo dentro do tempo especificado, a sessão terminará automaticamente. O valor padrão para esse período é de 20 minutos. As configurações de limite de tempo limite padrão para um aplicativo podem ser alteradas definindo a propriedade de tempo limite da sessão na página de propriedades do aplicativo no gerenciador de serviços da Internet. Esse valor deve ser definido de acordo com os requisitos do seu aplicativo da Web e o espaço de memória do servidor. Por exemplo, se você deseja que os usuários navegam no seu aplicativo da web permaneça em cada página por apenas alguns minutos, reduza o valor do tempo limite padrão da sua sessão. Um valor de tempo limite de sessão excessivamente longo causará muitas sessões abertas e esgotará os recursos de memória do servidor. Para uma sessão específica, se você deseja definir um valor de tempo limite menor que o valor do tempo limite padrão, poderá definir a propriedade de tempo limite do objeto da sessão. Por exemplo, o script a seguir define o valor do tempo limite para 5 minutos.
<%Session.Timeout = 5%>
Obviamente, você também pode definir um valor de tempo limite maior que a configuração padrão. A propriedade Session.Timeout determina o valor do tempo limite. Você também pode terminar explicitamente uma sessão através do método abandonado do objeto de sessão. Por exemplo, forneça um botão de saída na tabela, definindo o parâmetro de ação do botão no URL do arquivo .asp que contém os seguintes comandos.
<%Session.abandon%>
Compartilhar: Como o ASP impede repetidos envios de formulários Os usuários geralmente encontram algumas situações inesperadas ao enviar formulários, como refrescar a página várias vezes, pressionar a tecla traseira etc. Se as medidas de controle não forem tomadas, isso causará o problema de envio repetido do formulário. O método de prevenção introduzido neste artigo é composto principalmente por quatro sub -rotinas. Em aplicativos relativamente simples, você só precisa colocar esses códigos no arquivo incluído e referenciá -los diretamente; para aqueles