如何使用Enterprise Library ExceptionManager添加有关Exception的附加信息?

时间:2014-04-04 07:18:34

标签: logging enterprise-library

我有WCF服务,它有例外政策,比如

[ExceptionShielding("WCFErrorHandling")]
    public class Service : IService
{
   public void Oepration1(long userId)
    {
        try
        {
           //Logic here
        }

        catch (BusinessException ex)
        {
            throw new FaultException<BusinessFault>(new BusinessFault() { Message = ex.Message });
        }
    }
}

BussinesException,是我的类,可以使用属性userId进行扩展。 在Global.asax中,我有ExceptionManager

ExceptionManager mgr = fact.CreateManager();
            ExceptionPolicy.SetExceptionManager(mgr); 

那么,然后抛出BussinesException,一切都很好,我可以在BussinesException时刻将userId放入throw构造函数中,但是当发生类型的异常时:

System.Reflection.TargetInvocationException
无法添加

userId字段,因为TargetInvocationException是在Exception中构建的。我可以覆盖它,但我的项目有太多例外。 所以,我需要知道,userId在每个例外情况下,你会向我推荐什么?

0 个答案:

没有答案