Шаги для репликации:
- Начать новый проект .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
, но это все равно приводит к тому, что метод проверки запускается дважды.