[英]no suitable method found to override webapi
问候我已经创建了一个更干净的代码的Attribute
,它只是检查ModelState
是否有效,但是它一直给我这个错误:在OnActionExecuting
上找不到适合的方法来覆盖。 顺便说一下,我已经在Controller
的ActionResult
上使用了它。
这是我的代码:
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.