O tempo de expiração da sessão padrão no asp é de 20 minutos, o que em muitos casos não é suficiente. Hoje, há muitos pedidos de clientes para fazer login novamente, por isso preparei este artigo para comodidade dos amigos que precisam da sessão. o tempo de expiração não estiver definido no programa, a sessão expirará. O tempo de expiração será executado de acordo com o tempo de expiração definido pelo IIS. O tempo de expiração da sessão padrão no IIS é de 20 minutos.
A configuração da hora deve ser colocada primeiro
Por exemplo
Copie o código do código da seguinte forma:
Session.Timeout=30 'SEESION é válido por 30 minutos
Sessão(ID)=Rs(id)
Sessão(Nome)=Rs(Nome)
Sessão(Aprovado)=Rs(Aprovado
Use a propriedade Session.Timeout para definir o período de tempo limite
Para um usuário que efetua login em uma aplicação ASP, se o usuário não realizar nenhuma outra operação dentro do tempo padrão do sistema, a Sessão do usuário será automaticamente revogada quando o tempo definido terminar, evitando assim o desperdício de recursos do sistema. A propriedade TimeOut do objeto Session pode ser usada para definir o tempo de expiração em minutos.
Copie o código do código da seguinte forma:
Session.TimeOut=MaxTime
Código de exemplo: página (5.asp), este exemplo mostra como controlar o final da sessão.
Copie o código do código da seguinte forma:
<%@ idioma=vbscript %>
<% sessão.timeout=60%>
<html>
<head><title>Controle o horário de término da sessão</title><head>
<corpo>
<%
quem = Sessão.SessionID
CurrentPage=Request.ServerVariables(SCRIPT_NAME)
Response.AppendTolog quem &: & CurrentPage
Response.write <center>Seu ID de sessão é: & who & <p>
Response.write O caminho da página que você está visitando atualmente é: & CurrentPage & <p>
se Sessão(I)=então
sessão(i)=1
outro
sessão(i)=sessão(i)+1
terminar se
Sessão. Abandonar
Response.write Esta página foi atualizada & Session(i) & vezes por você. </centr>
%>
Em aplicativos Asp.net, muitas pessoas encontrarão conflitos nas configurações de expiração de sessão. Entre elas, existem quatro maneiras de definir o tempo de expiração da Sessão:
1. Nível global do site (ou seja, servidor)
IIS-Website-Properties-Asp.net-Edit Configuration-State Management-Session Timeout (minutos)-Definido como 120, que é 2 horas, ou seja, se o usuário atual não operar após 120 minutos, a Sessão irá expirar automaticamente .
2. Nível do site
IIS - Site - Site específico (como DemoSite) - Propriedades - Asp.net Existem duas opções neste momento, uma é editar a configuração global e a outra é editar a configuração.
Se você editar a configuração global, ela será igual à configuração anterior.
Se você editar a configuração, ela só terá efeito no site atual. Porque um servidor pode ter muitos sites independentes.
1. Continue selecionando Gerenciamento de status - Tempo limite da sessão (minutos) - definido como 360, ou seja, 360 minutos. O efeito é o mesmo acima, mas só tem efeito no site atual.
2. Tempo limite de Autenticação de Identidade-Formulários-Cooke, selecione 12:00:00, que é 12 horas. Existem oito opções disponíveis:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
Ou seja, o máximo são 24 horas e o mínimo são 15 minutos. Esta é a configuração padrão. Pode ser personalizado livremente no aplicativo.
3. Nível de aplicação
O mesmo que gerenciamento de sites, exceto que o escopo é limitado à aplicação atual.
4. Nível da página
Em uma determinada página, defina Session.Timeout = 30 para modificar temporariamente o tempo de expiração da sessão de uma determinada página.
Para verificar o tempo de expiração de uma sessão, você pode usar
Copie o código do código da seguinte forma:
TimeSpan SessTimeOut = novo TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
TimeSpan SessTimeOut = novo TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Entre elas, as configurações dois e três são refletidas no Web.config:
Copie o código do código da seguinte forma:
visualizar cópia simples para impressão da área de transferência?
<?xml versão=1.0?>
<configuração>
<sistema.web>
<modo de autenticação=Formulários>
<nome do formulário=AuthLogin loginUrl=/Login.aspx proteção=Todo tempo limite=360 deslizamentoExpiration=true/>
</autenticação>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<caminho de localização=Login.aspx>
<sistema.web>
<autorização>
<permitir usuários=* />
</autorização>
</system.web>
</local>
</configuração>
<?xml versão=1.0?>
<configuração>
<sistema.web>
<modo de autenticação=Formulários>
<nome do formulário=AuthLogin loginUrl=/Login.aspx proteção=Todo tempo limite=360 deslizamentoExpiration=true/>
</autenticação>
<sessionState mode=InProc cookieless=false timeout=20 />
</system.web>
<caminho de localização=Login.aspx>
<sistema.web>
<autorização>
<permitir usuários=* />
</autorização>
</system.web>
</local>
</configuração>
A prioridade das quatro configurações acima é nível de página > nível de aplicativo > nível de site > nível de servidor. Em outras palavras, se a página estiver definida para 20 minutos e o site estiver definido para 120 minutos, então 20 minutos será obviamente o tempo de expiração efetivo.
Outro ponto digno de nota.
Na segunda configuração, defina o tempo limite da sessão (SessionState) para 120 minutos e use a autenticação de formulários ao mesmo tempo. Defina-o para 00:15:00, que é 15 minutos, e deslizamentoExpirationo é falso. tempo que entra em vigor?
Um resultado válido é a configuração SessionState, que é de 120 minutos.
Se o tempo de expiração da sessão estiver definido, mas não entrar em vigor, verifique as configurações acima.
Outros métodos encontrados online
1. Sistema operacional: Windows Server 2003
Etapas: Iniciar-> Ferramentas administrativas-> Gerenciador de serviços de informações da Internet (IIS)-> Site-> Site padrão-> Clique com o botão direito em Propriedades-> Diretório inicial-> Configuração-> Opções-> Ativar estado da sessão-> Tempo limite da sessão (aqui Defina o tempo limite desejado em minutos). OK.
2. Configurando o tempo de expiração da sessão em aplicativos ASP.NET
Em aplicativos da Web como ASP.NET, Sessão é um método comum usado para salvar o status do usuário. No entanto, como o espaço de memória do servidor é limitado, é necessária a configuração do tempo de expiração da sessão. Como definir o tempo de expiração da sessão no ASP.NET? Basta modificar a configuração do web.config.
O método de modificação específico é o seguinte, configure como segue em web.config
Copie o código do código da seguinte forma:
<sistema.web>
<modo sessionState=tempo limite InProc=30/>
</system.web>
Isto se refere é que o tempo de expiração da sessão é de 30 minutos. Ou seja, se o usuário atual não operar após 30 minutos, a Sessão expirará automaticamente.
3. Na página cs que chama Session, escreva o seguinte no evento Load
Copie o código do código da seguinte forma:
Sessão.Timeout = 30;
4. Armazene a sessão no serviço de estado asp.net
Copie o código do código da seguinte forma:
<sessionState cookieless=false timeout=480 mode=StateServer stateConnectionString=tcpip=127.0.0.1:42424 sqlConnectionString=data source=127.0.0.1;user id=sa;password= />