使用Elmah为WCF Web服务记录用户名

Tho*_*mas 5 asp.net wcf logging elmah exception

我们使用此处描述的方法使用Elmah记录我们的Web服务错误.这实际上是有效的,但遗憾的是,记录的用户名是空的.

我们做了一些调试,发现当在ErrorHandler中记录错误时,它HttpContext.Current.User具有正确的用户设置.

我们还尝试过:

HttpContext context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(pError, context));
Run Code Online (Sandbox Code Playgroud)

ErrorLog.GetDefault(null).Log(new Error(pError));
Run Code Online (Sandbox Code Playgroud)

没有成功.

关于我们如何让Elmah记录用户名的任何想法?

在旁注中,当直接在Webservice中记录错误时,将按预期记录用户名.但采取这种方法并不是很干.

Sha*_*men 4

Thread.CurrentPrincipal.Identity.NameElmah从而不是从获取用户HttpContext.Current.User

由于没有方便的方法将自定义数据添加到 Elmah,我建议重新编译代码,并改为调用 HttpContext.Current.User。