如何在WEB API 2中创建异步验证属性

时间:2013-11-15 09:11:51

标签: asp.net-mvc asp.net-web-api

我听说可以在ASP.NET WEB API 2中创建异步验证属性,但我没有找到任何示例。我想创建一个像这样的验证类,但是异步方式:

public class UserNameAvailable : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        var username = value as string;

        if(username != null)
        {
            return !Database.UserExists(username); // must be async
        }

        return true;
    }
}

1 个答案:

答案 0 :(得分:1)

通过验证属性,我假设您指的是类似ActionFitler属性的东西。在Web API 2中,我们尚未在ActionFilter属性中使用异步版本的方法。但是,在即将发布的版本中,我们支持此功能。

仍然可以自己创建实现System.Web.Http.Filters.IActionFilter的自定义操作过滤器属性,但我想知道您是否愿意等待下一个版本。如果这不能等,请告诉我,我可以为你试一试。