Я настроил сессионное состояние без файлов cookie в ASP.Net Web API, и время ожидания составляет 20 минут.
<sessionState mode="InProc" timeout="20" />
При каждом новом установленном сеансе я сохраняю session_id, сгенерированный в словаре для отслеживания сеансов, и соответственно удаляю session_id из словаря всякий раз, когда session_end.
Но я сталкиваюсь со странной проблемой (не очень часто): всякий раз, когда новый пользователь устанавливает сеанс, он немедленно истекает, а session_id удаляется из словаря.
Session_End code:
protected void Session_End()
{
var sessionId = this.Session.SessionID;
if (SessionDictionary.ContainsKey(sessionId))
{
SessionDictionary.Remove(sessionId);
}
}
Так что, пожалуйста, если кто-то может помочь мне в этом.
Кроме того, у меня есть сомнения, относится ли «this.Session.SessionID» к идентификатору сессии, срок действия которого истек, или к тому, который создан в настоящее время.
Заранее спасибо