Я вызываю Membership.GetUser()
изнутри метода Application_Error()
в файле Global.asax в приложении ASP.NET, чтобы записать некоторые данные журнала.Членство.GetUser() терпит неудачу при вызове из HttpModule
Однако, похоже, что ошибка в HttpModule произошла с ошибкой. Это нормально? Не является ли членство готовым во время выполнения HttpModules в ASP.NET? Я делаю что-то неправильно?
Он выбрасывает «Ссылка на объект, не установленную на экземпляр объекта». исключение (в System.Web.Security.Membership.GetCurrentUserName(), в System.Web.Security.Membership.GetUser()).
Можете ли вы быть более конкретным? Выбрасывает ошибку или просто возвращает null? – JoshJordan
Да, извините. Он выбрасывает «Ссылка на объект, не установленную на экземпляр объекта». Исключение (в System.Web.Security.Membership.GetCurrentUserName(), в System.Web.Security.Membership.GetUser()) –
HttpRequest проходит через стеки HttpModules до того, как HttpHandler берет верх. MembershipProvider - один из этих модулей. Я предполагаю, что вы можете «GetUser» из веб-формы или обработчика. Возможно, невозможно выполнить членствоProvider с другой стороны (моя догадка). Однако может быть проблемой конфигурации HtpModule в web.config. Тем временем User.Identity.Name, похоже, путь. –