簡體   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