Invalidação de Sessão HTTP
As sessões HTTP são invalidadas por meio da chamada do método de invalidação no objeto de sessão ou por meio da especificação de um intervalo de tempo específico utilizando a propriedade MaxInactiveInterval.
As sessões invalidadas explicitamente pelo código do aplicativo são invalidadas imediatamente. As sessões não invalidadas pelo código do aplicativo são invalidadas pelo gerenciador de sessões. A invalidação de sessão ocorre independentemente da configuração de persistência de sessão.
Uma sessão será uma candidata à invalidação se não tiver sido acessada durante um período maior que o tempo limite de sessão especificado, determinado pelo valor de MaxInactiveInterval. O gerenciador de sessões possui um encadeamento de processos de invalidação que é executado a cada X segundos para invalidar sessões elegíveis à invalidação.
O gerenciador de sessões utiliza uma fórmula para determinar o valor de X, especificado pela propriedade ReaperInterval. O valor de X é calculado com base no valor de MaxInactiveInterval especificado no gerenciador de sessões.
Por exemplo, para um intervalo inativo máximo inferior a 15 minutos, o valor de ReaperInterval é aproximadamente de 60 a 90 segundos. Para um intervalo máximo inativo superior a 15 minutos, o valor de ReaperInterval é aproximadamente de 300 a 360 segundos.
Uma sessão é invalidada quando o MaxInactiveInterval é excedido e o ReaperInterval passa. Depois que uma sessão for elegível à invalidação, o encadeamento de invalidações deverá ser executado para que a sessão seja invalidada. Portanto, uma sessão pode não ser invalidada para a soma do valor de MaxInactiveInterval e de ReaperInterval em segundos.
Uma sessão que excedeu o MaxInactiveInterval, mas ainda não foi removida pelo encadeamento de invalidações, ainda está disponível para o uso. Se essa sessão for solicitada, ela será retornada ao cliente.
Você pode especificar se a sessão é invalidada imediatamente ou após um intervalo de tempo especificado. Para invalidação imediata, o aplicativo deve chamar o método de invalidação. Para invalidar uma sessão em um horário específico, é possível configurar a propriedade customizada de contêiner da Web ReaperInterval em segundos para especificar a frequência do encadeamento de invalidação.