我們正在使用描述here的方法來記錄我們使用Elmah的Web服務錯誤。這實際上有效,但遺憾的是用戶名beeing記錄是空的。使用Elmah登錄WCF Webservices的用戶名
我們做了一些調試,發現在ErrorHandler中記錄錯誤時HttpContext.Current.User
有正確的用戶設置。
我們也嘗試:
HttpContext context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(pError, context));
和
ErrorLog.GetDefault(null).Log(new Error(pError));
沒有成功。
關於如何讓Elmah登錄用戶名的任何想法?
在旁註上,當直接在Web服務中記錄錯誤時,會按預期記錄用戶名。但採取這種方法不是非常乾燥。
我說得對,設置了校長有:'= Thread.CurrentPrincipal中新的GenericPrincipal(新由於ThreadPooling,GenericIdentity(「lala」),新字符串[0])'是一個壞主意? – Thomas 2010-10-12 07:56:39
是的,你不想混亂的線程負責人 – 2010-10-12 07:59:12
如果我在用elmah記錄錯誤後將它重新設置回舊的Principal, – Thomas 2010-10-12 08:00:52