Это сделано специально, и ASP.NET пытается эффективно хранить сессии для пользователей. Помните, что если вы ничего не сохраняете в сеансе, значение сеанса изменяется.
Если вы хотите сообщить ASP.NET, что вы хотите отслеживать пользовательские сеансы, вы можете сделать одну из двух вещей:
- Сохраните что-нибудь в сеансе.
- Простая обработка события Session_Start в вашем GLobal.asax. Наличие этого метода скажет ASP.NET отслеживать сеансы, даже если в сеансе нет данных.
// ПРИМЕЧАНИЕ. Нет необходимости добавлять что-либо в сеанс, если вы делаете это ...
public void Session_Start (отправитель объекта, EventArgs e)
{
}
Это поведение вызывало у меня много беспокойств в прошлом:)