Estoy usando IErrorHandler para manejar excepciones en WCF y ahora quiero registrar las excepciones, junto con el seguimiento de la pila y el usuario que causó la excepción.Excepciones de registro en WCF con IErrorHandler dentro de HandleError o ProvideFault?
La única manera que puedo ver a conseguir que el usuario que causó la excepción es:
OperationContext.Current.IncomingMessageProperties.Security.ServiceSecurityContext.PrimaryIdentity
... Pero esto sólo parece funcionar dentro ProvideFault , y no dentro de HandleError. ¿Hay alguna forma de que el usuario entre a HandleError? Me gustaría utilizar HandleError en lugar de ProvideFault, ya que se llama a un hilo de fondo y está destinado para el registro de errores, ¿no?
responsabilidades
Estoy de acuerdo, pero ¿cómo se consigue la información del usuario (ServiceSecurityContext.PrimaryIdentity) desde el interior del método HandleError? – Dannerbo
@Dannerbo: actualizó mi respuesta –
En mi entorno, el acceso a ServiceSecurityContext.Current en HandleError() arroja ObjectDisposedException con el texto "Message is closed". – UserControl