Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FluentValidation异步规则挂起_C#_Asp.net Mvc_Validation_Asynchronous_Fluentvalidation - Fatal编程技术网

C# FluentValidation异步规则挂起

C# FluentValidation异步规则挂起,c#,asp.net-mvc,validation,asynchronous,fluentvalidation,C#,Asp.net Mvc,Validation,Asynchronous,Fluentvalidation,我使用Fluent验证,我想检查所选参数是否可以使用。检查由数据库提供,所以我希望RuleFor是异步的。我写了它,在一些文章中我读到,为了不让它挂起,必须通过ValidateAsync调用验证。所以我添加了调用ValidateAsync的代码 [Route("create/single")] [HttpPost] [ResponseType(typeof(Invoice))] public async Task<IHttpActionResult> Post(Invoice ent

我使用Fluent验证,我想检查所选参数是否可以使用。检查由数据库提供,所以我希望RuleFor是异步的。我写了它,在一些文章中我读到,为了不让它挂起,必须通过ValidateAsync调用验证。所以我添加了调用ValidateAsync的代码

[Route("create/single")]
[HttpPost]
[ResponseType(typeof(Invoice))]
public async Task<IHttpActionResult> Post(Invoice entity)
{
    var validator = _validatorFactory.GetValidator<InvoiceBillToActivityValidation>();
    var validationResult = await validator.ValidateAsync(entity);
    var modelState = validationResult.ToModelState();
    if (!validationResult.IsValid)
        return BadRequest(modelState);
    return await Post<AddEntityUseCase<Invoice, int>>(entity);
}
[路由(“创建/单个”)]
[HttpPost]
[响应类型(发票类型))]
公共异步任务Post(发票实体)
{
var validator=_validatorFactory.GetValidator();
var validationResult=Wait validator.ValidateAsync(实体);
var modelState=validationResult.ToModelState();
如果(!validationResult.IsValid)
返回请求(modelState);
返回等待岗(实体);
}
问题是,当请求开始时,为什么它会围绕我的Post方法到达验证器,我假设调用了Validate方法,所以请求挂起

fluent validate是否有某种功能,可以在默认情况下为已创建的类调用validator?那么,如何将其关闭,或者如何将其设置为调用ValidateAsync方法