Estou executando um aplicativo ASP.NET 2.0 no IIS 6.0. Quero que o tempo limite da sessão seja 60 minutos, em vez dos 20 minutos padrão. Eu fiz o seguinte
- Situado
<sessionState timeout="60"></sessionState>
noweb.config
. - Defina o tempo limite da sessão para 60 minutos nas configurações do gerenciador do IIS / propriedades do site / ASP.NET.
- Defina o tempo limite inativo como 60 minutos nas propriedades / desempenho do pool de aplicativos.
Ainda estou recebendo um tempo limite da sessão em 20 minutos. Preciso fazer mais alguma coisa?
Respostas:
Você está usando autenticação de formulários?
A autenticação de formulários usa seu próprio valor para o tempo limite (30 min. Por padrão). Um tempo limite de autenticação de formulários enviará o usuário para a página de logon com a sessão ainda ativa. Pode parecer o comportamento que seu aplicativo apresenta quando o tempo limite da sessão se torna mais fácil, confundindo um com o outro.
Definir o tempo limite dos formulários para algo menor que o tempo limite da sessão pode fornecer ao usuário uma janela na qual efetuar login novamente sem perder nenhum dado da sessão.
fonte
Eu não sei sobre web.config ou IIS. Mas acredito que a partir do código C # você pode fazer isso como
fonte
Session.Timeout
seja diferente de usar o web.config ou o IIS, portanto, presumo que seja para todo o aplicativo.Use o seguinte bloco de código no seu arquivo web.config. Aqui, o tempo limite da sessão padrão é de 80 minutos.
Use o link a seguir para Tempo limite da sessão com mensagem de alerta pop-up.
Exemplo de tempo limite da sessão
FYI: Os exemplos acima são feitos com o controle pop-up devexpress, portanto você precisa personalizar / substituir o controle pop-up devexpress pelo controle pop-up normal. Se você estiver usando o DevExpress, não é necessário personalizar
fonte
Você tem alguma coisa no machine.config que possa estar entrando em vigor? Definir o tempo limite da sessão no web.config deve substituir as configurações do IIS ou machine.config; no entanto, se você tiver um arquivo web.config em algum lugar de uma subpasta do seu aplicativo, essa configuração substituirá a que está na raiz do seu aplicativo.
Além disso, se bem me lembro, o tempo limite no IIS afeta apenas as páginas .asp, não .aspx. Você tem certeza de que o código da sua sessão no web.config está correto? Deve ser algo como:
fonte
Na minha situação, era o Pool de Aplicativos. Ele está configurado para reiniciar quando ocioso por xx minutos. Quando eu o defino para não reiniciar, ele parece usar o valor do Web Config.
fonte
Isso geralmente é tudo o que você precisa fazer ...
Tem certeza de que, após 20 minutos, a razão pela qual a sessão está sendo perdida é por estar ociosa ...
Há muitas razões pelas quais a sessão pode ser limpa. Você pode ativar o log de eventos para o IIS e, em seguida, usar o visualizador de eventos para ver os motivos pelos quais a sessão foi cancelada ... talvez você ache que é por outros motivos?
Você também pode ler a documentação para mensagens de eventos e a tabela de eventos associada .
fonte
Se você estiver usando autenticação, recomendo adicionar o seguinte no arquivo web.config.
No meu caso, os usuários são redirecionados para a página de login após o tempo limite:
fonte
https://usefulaspandcsharp.wordpress.com/tag/session-timeout/
fonte
Como o ASP.Net core 1.0 (vNext ou qualquer outro nome é usado), as sessões são implementadas de maneira diferente. Eu mudei o valor tempo limite da sessão em
Startup.cs
,void ConfigureServices
usando:Ou, se você quiser usar o
appsettings.json
arquivo, poderá fazer algo como:fonte
Você pode encontrar a configuração aqui no IIS:
Pode ser encontrado no nível do servidor, site ou aplicativo em "ASP".
Eu acho que você pode configurá-lo no nível web.config aqui. Por favor, confirme isso por si mesmo.
fonte
O valor do tempo limite das sessões do IIS é apenas para aplicativos .asp clássicos, isso é controlado na configuração do IIS. No seu caso Para aplicativos ASP.NET, apenas o valor de tempo limite especificado pelo web.config se aplica.
fonte
O tempo limite da sessão padrão é definido no IIS para 20 minutos
Siga os procedimentos abaixo para cada site hospedado na Web do IIS 8.5
fonte
se você deseja que o tempo limite da sessão para o site seja removido
tag do arquivo web.config.
fonte
A propriedade Timeout especifica o período de tempo limite atribuído ao objeto Session para o aplicativo, em minutos. Se o usuário não atualizar ou solicitar uma página dentro do período de tempo limite, a sessão será encerrada.
fonte
Após alterar o valor do tempo limite da sessão no IIS, reinicie o IIS. Para conseguir isso, vá para o prompt de comando. Digite IISRESET e pressione Enter.
fonte