Добавление пользовательских свойств в сущность Fault - PullRequest
0 голосов
/ 23 апреля 2019

Мне интересно, возможно ли настроить дополнительное свойство для сообщения Fault? У меня есть собственный тип исключения, который определяется следующим образом:

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

У меня есть универсальный потребитель, который обрабатывает все возникшие ошибки, но я понятия не имею, как я могу получить свойство Code из сущности Fault. Сущность Fault содержит информацию о типе возникшего исключения, о коррелированном сообщении, но, к сожалению, свойство Code отсутствует.

Можно ли передать эту информацию потребителю неисправности? Может быть, внутри заголовков?

1 Ответ

0 голосов
/ 23 апреля 2019

Если вы находитесь на этом уровне бизнес-логики в своем исключении, было бы рекомендовано, чтобы вы перехватили это исключение самостоятельно и опубликовали свое собственное событие сбоя домена, которое имеет отношение к вашему бизнес-контексту. Например, вы можете определить свой собственный тип DomainFault:

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

Затем вы можете опубликовать его самостоятельно, используя обработчик try / catch вашего потребителя, или вы можете создать фильтр для конвейера потребителей, чтобы использовать его с несколькими потребителями.

...