У меня есть пользовательский класс диспетчера сеансов ASP.NET следующим образом:
public sealed class SessionManager : Page
{
private const string USER = "User";
private static readonly SessionManager _instance = new SessionManager();
private SessionManager()
{
}
public static SessionManager Instance
{
get { return _instance; }
}
public User User
{
get { return Session[USER] as User; }
set { Session[USER] = value; }
}
}
После успешного входа пользователя в систему его полное имя отображается на домашней странице. Ниже приведена проблема, с которой я сталкиваюсь:
1) Сначала я захожу в систему, поскольку полное имя Джона и Джона отображаются на домашней странице, а соответствующий объект пользователя сохраняется в сеансе.
2) Теперь с другого компьютера я вхожу в систему как Mark. Теперь полное имя Марка отображается на домашней странице, а соответствующий объект пользователя сохраняется в сеансе.
3) Теперь, когда я захожу на компьютер, с которого Джон вошел в систему, и обновляю домашнюю страницу, я вижу имя Маркс вместо имени Джонс.
В чем может быть причина этого странного поведения?