.net - .Net WebApi - CustomValidation 方法调用两次
问题描述
复制步骤:
- 启动一个新的 .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
,但这仍然会导致验证方法被触发两次。
解决方案
set
它在和之后运行验证get
。set
从属性中删除Thing
,验证方法将只运行一次。
推荐阅读
- java - Can't change JTable Header background color
- javascript - Javascript optimizing the repetitive JSON object to output below
- django - How I can show the latest post at the top in Django template using example.example_set.all
- java - Spring 5 In Action - Spring MVC Form Submit 对象始终为 null,其中 post 方法参数显示值
- python - 如何在巨大的数据集中查找和转换熊猫数据框中的缺失值?
- wordpress - 在 wordpress 中安装名为 The7 的主题时出现错误
- node.js - 使用 toFixed() 和 toLocaleString() 格式化数字
- python - Python中的类和函数
- ios - iOS 13 上带有子/上标的 NSAttributedString
- python - 如何在 Python 中的图像顶部绘制基线