[英]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.