gpt4 book ai didi

c# - 在 C# 中的自定义验证属性中使用异步方法

转载 作者:行者123 更新时间:2023-12-04 16:39:38 24 4
gpt4 key购买 nike

我有一个评估字段的异步方法

Task<bool> MyMethod(object obj);

我想创建一个使用上述方法的自定义验证属性。我的问题是 ValidationAttribute类不支持异步方法。

我通常重写下面的方法:

ValidationResult IsValid (object? obj, ValidationContext validationContext);

但我的异步方法的输出是 Task<ValidationResult>而且我不想使用同步方法。

您有解决方案或建议吗?

提示:由于 I/O 阻塞,我想使用异步方法。 (没有 CPU 限制或繁重的操作。)

最佳答案

Use async method in custom validation attribute

验证管道不是异步的,因此不可能用于此目的。参见 this similar thread .

此外,众所周知,Validation是为了确保类型和值的正确性,而不是评估字段等业务规则。这应该在您的业务/数据层中强制执行,您可以尝试使用 JQuery 验证或 Remote attribute .

关于c# - 在 C# 中的自定义验证属性中使用异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63609358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com