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