.Net WebApi - методы CustomValidation, вызываемые дважды - PullRequest
0 голосов
/ 01 октября 2018

Шаги для репликации:

  • Начать новый проект .Net WebApi 2
  • Измените ValuesController, чтобы иметь метод: public string Get([FromUri] Input input)
  • Создайте класс модели Input с одним свойством: [CustomValidation(typeof(StringValidator), "Validate")] public string Thing { get; set; }

  • Создайте простой класс StringValidator с методом Validate, который просто возвращает ValidationResult/.Success, и прикрепите точку остановав методе.

  • Запустите API и вызовите метод следующим образом: http://localhost:49394/api/values?thing=something

  • Дважды будет достигнута точка останова, иоба раза переданное значение будет «что-то»

Кто-нибудь знает, почему это происходит?Я попытался удалить значение по умолчанию ActionDescriptorFilterProvider из фильтров в HttpConfiguration, но это все равно приводит к тому, что метод проверки запускается дважды.

1 Ответ

0 голосов
/ 01 октября 2018

Проверка запускается после set и get.Удалите set из свойства Thing, и метод проверки будет запущен только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...