У меня есть проверка подлинности с помощью форм, и мне нужно, чтобы пользовательский объект был сохранен в HttpContext.Current.User и в Thread.CurrentPrincipal.
Чтобы получить это, я слушаю событие PostAuthenticateRequest, затем считываю из БД все пользовательские данные, которые мне нужно сохранить в HttpContext.Current.User и в Thread.CurrentPrincipal, затем я создаю экземпляры пользовательских объектов IPrincipal и IIdentity и назначаю их в вышеуказанные места.
Проблема в том, что по какой-то причине PostAuthenticateRequest запускается несколько раз для одного запроса. Это вызывает ненужные обращения к БД, которые снижают производительность.
Как мне решить эту проблему? (ASP.NET MVC 2)
Спасибо.