我有一個將執行ModelState.IsValid的動作前web api鉤子。如果ModelState無效,我不想執行該操作並立即返回我的消息。我到底該怎麼做?Web Api - 如何從OnActionExecuting過濾器直接停止Web管道
public class ValidateModelStateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext) {
if (!actionContext.ModelState.IsValid)
{
var msg = actionContext.Request.CreateErrorResponse(HttpStatusCode.BadRequest, actionContext.ModelState);
// Now What?
}
base.OnActionExecuting(actionContext);
}
}
我明白了,然後我打電話給基地嗎?我真正想要的是所有預執行過濾器都可以運行,而不是操作本身。這樣,任何日誌記錄過濾器仍然會運行 –
是的,你可以調用'base' –