向故障实体添加自定义属性

时间:2019-04-23 13:39:02

标签: c# microservices masstransit

我想知道是否可以为故障消息配置其他属性?我有自己的异常类型,定义如下:

public class DomainException : Exception 
{
  public string Code { get; private set; } 
 ...
}

我有一个通用的使用者来处理所有发生的错误,但是我不知道如何从Fault实体获取Code属性。 Fault实体保存有关引发的异常类型,相关消息的信息,但不幸的是,缺少Code属性。

是否可以将此信息传递给Fault使用者?也许在标题内?

1 个答案:

答案 0 :(得分:0)

如果您在异常中处于这种业务逻辑级别,则建议您自己捕获异常,并发布与业务环境相关的自己的域故障事件。例如,您可以定义自己的DomainFault类型:

public interface DomainFault : 
    Fault
{
    string Code { get; }
}

然后,您可以在使用者中使用try / catch处理程序自行发布它,也可以为使用者管道创建一个过滤器以将其与多个使用者一起使用。