Проверка в службе WCF с пользовательским сообщением об ошибке - PullRequest
0 голосов
/ 30 января 2019

У меня есть контракт данных, как показано ниже.Я хочу вернуть пользовательское сообщение об ошибке, если имя пусто.Как я могу этого достичь?Контракт:

[DataContract]
    public class Employee
    {
        [DataMember]
        public int Id { get; set; }
        [DataMember]

        public string Name { get; set; }
    }

Ответ: ErrorCode: 111 ErrorDesc: null ErrorText: null StateCode: null

1 Ответ

0 голосов
/ 30 января 2019

Что вы хотите сделать, это посмотреть на контракты на отказ,

Несколько ссылок можно найти в сети

  1. https://www.c -sharpcorner.com / UploadFile/ 788083 / как выполнить контракт по вине неисправности в / wcf /
  2. https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/fault-contract
  3. http://www.topwcftutorials.net/2014/07/wcf-fault-contract.html

Но если этоэто слишком много для того, чего вы хотите достичь, вы можете посмотреть на DataAnnotation , поставив

[DataMember]
[Required]
public string Name { get; set; }

Должно быть все, что требуется, чтобы заставить пользователя создать значение для

Имя

Также обратите внимание, что существует перегрузка для атрибута [Обязательный], который использует пользовательское сообщение об ошибке

[Required(ErrorMessage="You have not supplied a value for the Name parameter")]

Вы также можете комбинироватьэто с

[StringLength(20, ErrorMessage = "The Name value cannot exceed 20 characters. ")]

Это не будет похоже на

[DataContract]
    public class Employee
    {
        [DataMember]
        public int Id { get; set; }
        [DataMember]
[StringLength(20, ErrorMessage = "The Name value cannot exceed 20 characters. ")]
[Required(ErrorMessage="You have not supplied a value for the Name parameter")]
        public string Name { get; set; }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...