繁体   English   中英

找不到适合的方法来覆盖webapi

[英]no suitable method found to override webapi

问候我已经创建了一个更干净的代码的Attribute ,它只是检查ModelState是否有效,但是它一直给我这个错误:在OnActionExecuting上找不到适合的方法来覆盖。 顺便说一下,我已经在ControllerActionResult上使用了它。

这是我的代码:

public class ValidateModelStateAttribute : ActionFilterAttribute
{

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (!actionContext.ModelState.IsValid)
        {
            actionContext.Response = actionContext.Request.CreateErrorResponse(
   HttpStatusCode.BadRequest, actionContext.ModelState);
        }

    }
}

这是我的控制器:

    Repository<User> userRepository = new Repository<User>();

    [HttpPost, ActionName("Register"), AllowAnonymous, ValidateModelState]
    public ActionResult Create(UserRegister useReg)
    {
        userRepository.Insert(UserFactory.UserRegisterFactory(useReg));
        userRepository.save();
        return new HttpStatusCodeResult(HttpStatusCode.OK);
    }

您可能正在使用名称空间System.Web.Mvc( https://msdn.microsoft.com/zh-cn/library/system.web.mvc.actionfilterattribute ( v= vs.118).aspx)中的ActionFilterAttribute。 相反,您应该使用https://msdn.microsoft.com/zh-cn/library/system.web.http.filters.actionfilterattribute(v=vs.118).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM