5

我听说可以在 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;
    }
}
4

1 回答 1

1

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

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

于 2013-11-17T17:51:21.650 回答