Мы используем подход, описанный здесь , чтобы регистрировать ошибки нашего веб-сервиса в Elmah. И это действительно работает, но, к сожалению, имя пользователя в журнале пусто.
Мы провели некоторую отладку и обнаружили, что при регистрации ошибки в ErrorHandler HttpContext.Current.User
имеет правильный пользовательский набор.
Мы также попробовали:
HttpContext context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(pError, context));
и
ErrorLog.GetDefault(null).Log(new Error(pError));
Без успеха.
Есть какие-нибудь идеи о том, как заставить Элму записать имя пользователя?
В sidenote, при регистрации ошибки непосредственно в Web-сервисе, имя пользователя регистрируется, как и ожидалось. Но такой подход не очень СУХОЙ.