我正在使用 WCF 服务并且我已经实现了 IErrorHandler。在HandleError方法中,我想检索调用者的用户名,以便为Log4Net设置ThreadContext属性(将用户名与 SQL Server 中的异常详细信息一起保存)
如果我避免尝试检索调用者的用户名,我的代码运行良好。
这是 HandleError 方法中返回NullReferenceException的代码行:
string username = ServiceSecurityContext.Current.WindowsIdentity.Name;
似乎在IErrorHandler的HandleError方法启动时,原来的调用者信息已经被处理掉了。
有谁知道如何在 IErrorHandler 的 HandlerError 方法中检索调用者的用户名?
谢谢你的帮助!