Запись продолжительности сеанса в базу данных на сайте asp.net - PullRequest
0 голосов
/ 06 августа 2009

Мне нужно регистрировать сеансы в базе данных на моем сайте asp.net: кто и когда начал и закончил сеанс. Я настроил ведение журнала odbc на своем сервере iis, но, к сожалению, такая информация не регистрируется (или я ее не вижу). Как я могу сделать это либо на веб-сайте asp.net (но просто потому, что есть сотни страниц, и я не могу изменить каждую из них) или в моем журнале iis?

1 Ответ

4 голосов
/ 06 августа 2009

Я бы использовал хорошую библиотеку журналов (Enterprise Library или Log4Net) и написал бы код журналирования в обработчиках событий Session_Start и Session_End в Global.asax.

Имейте в виду, однако, что если вы используете SqlServerSessionState, событие Session_End не срабатывает.

Редактировать: На самом деле, если вам нужно зарегистрировать имя пользователя, может оказаться более целесообразным зарегистрировать начало сеанса из Application_AuthenticateRequest, где будет установлена ​​идентичность. Это не будет строго начало сеанса, но дело в том, что если вы не используете встроенную безопасность Windows, то при создании сеанса личность пользователя не будет установлена.

...