Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF中的日志错误问题_Wcf_Error Handling - Fatal编程技术网

WCF中的日志错误问题

WCF中的日志错误问题,wcf,error-handling,Wcf,Error Handling,我实现了一个类,该类实现了IErrorHandler接口来记录WCF错误。我想做的一件事是记录发生异常时连接到我的服务的用户的身份。我的所有日志记录都发生在IErrorHandler接口的HandleError()方法中,但由于HandleError()可能没有当前操作上下文,因此无法获取SecurityContext.PrimaryIdentity。我已经提出了以下代码来捕获HandleError方法中可能不可用的东西,但我不确定这在所有情况下都能起作用 public class MyErro

我实现了一个类,该类实现了IErrorHandler接口来记录WCF错误。我想做的一件事是记录发生异常时连接到我的服务的用户的身份。我的所有日志记录都发生在IErrorHandler接口的HandleError()方法中,但由于HandleError()可能没有当前操作上下文,因此无法获取SecurityContext.PrimaryIdentity。我已经提出了以下代码来捕获HandleError方法中可能不可用的东西,但我不确定这在所有情况下都能起作用

public class MyErrorHandler : IErrorHandler
{
   private IIdentity identity;

   public bool HandleError(Exception error)
   {
       // Do something with identity          

       return false;
   }

   public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
   {
       this.identity = Operation.Current.SecurityContext.PrimaryIdentity;
   }
}
上面的代码似乎正在运行,但是有什么问题吗


谢谢

出于某种原因,我认为每次出现异常时都会创建该类。在任何情况下,我都能够通过使用Exception对象的Dictionary属性来存储我想与我的异常一起记录的自定义数据来解决我的问题