Сохранение имени пользователя в переменной сеанса при входе пользователей с использованием модуля Http - PullRequest
0 голосов
/ 20 августа 2010

Можно ли использовать событие приложения для сохранения имени пользователя в переменной сеанса? Я хотел бы сделать что-то вроде этого:

        private void ContextOnBeginRequest(object sender, EventArgs eventArgs){
        if (_context.Request.IsAuthenticated)
            _context.Session["ID"] = _context.User.Identity.Name;
    }

Однако в приведенном выше коде я получаю сообщение о том, что состояние сеанса недоступно.

Ответы [ 2 ]

1 голос
/ 20 августа 2010

Если вы хотите использовать этот подход, вы должны проверить httpcontext.current.session, но, конечно, сначала убедитесь, что он не равен нулю.Кроме того, вы захотите проверить, что запрос IsAuthenticated также проверяется, чтобы убедиться, что есть пользователь, поскольку у вас может быть сеанс, который не аутентифицирован.

0 голосов
/ 21 декабря 2010

ContextOnBeginRequest - ваш обработчик событий BeginRequest.Если это событие

запускается, SessionState еще не создан.

s.Класс HttpApplication -> Примечания

...