Estamos utilizando el enfoque descrito here para registrar los errores de servicio web con Elmah. Y esto realmente funciona, pero lamentablemente el nombre de usuario registrado está vacío.nombre de usuario Inicio de sesión con Elmah para servicios web WCF
Realizamos algunas depuraciones y encontramos que al registrar el error en el Manejador de errores, el HttpContext.Current.User
tiene el conjunto de Usuario correcto.
También probamos:
HttpContext context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(pError, context));
y
ErrorLog.GetDefault(null).Log(new Error(pError));
sin éxito.
Cualquier ideas sobre cómo podemos hacer Elmah ingrese el nombre de usuario?
En una nota, cuando la tala de error directamente en el servicio web, el nombre de usuario se registra como se esperaba. Pero tomar este enfoque no es muy SECO.
Estoy en lo cierto que al establecer la Pricipal con: 'Thread.CurrentPrincipal = new GenericPrincipal (nueva GenericIdentity ("lala"), nueva cadena [0])' es una mala idea debido a ThreadPooling? – Thomas
Sí, no quiere meterse con el hilo principal –
y si lo configuro de nuevo en el antiguo principal después de registrar el error con elmah? – Thomas