Настройка исключения службы данных ADO.NET - PullRequest
1 голос
/ 28 августа 2009

Возможно ли, чтобы DataServiceException передавал список ошибок потребителям?

Вместо того, чтобы просто получать стандартное Сообщение, информация о Stacktrace Я также хотел бы иметь список ошибок, когда различные проверки не выполняются на модели.

Я пытался установить для внутреннего исключения DataServiceException значение FaultException.

[DataContract]
public class MyTypeWithExtraInfo
{
   [DataMember]
   public List<MyErrorInfo> MyErrors { get; set; }
}

[DataContract]
public class MyErrorInfo
{
   [DataMember]
   string PropertyId { get; set; }

   [DataMember]
   public string Error { get; set; }
}

Clientside. Я получаю DataServiceException, но сообщение операции имеет только причину FaultException и тип (ToString'ed), в нем нет DataMembers, указанных в MyTypeWithExtraInfo.

1 Ответ

1 голос
/ 28 августа 2009

Для одного исключения вы можете поймать фактическое исключение и повторно обработать:

throw new System.ServiceMode.FaultException("Custom Error Message");

Однако, если вам нужно обработать несколько исключений , рассмотрите возможность использования расширений библиотеки параллельных задач для .NET . Это позволит вам собрать все выброшенные исключения и поместить их в один объект AggregateException. Эта библиотека должна стать частью платформы .NET 4.0.

...