将MVC操作限制为contentType

时间:2015-02-20 07:38:42

标签: asp.net-mvc content-type

MVC中的任何属性是否限制了一个操作方法,以便该方法只处理接受contentType: 'application/json'个请求?

[HttpPost]
public JsonResult GetLastestPosts(int categoryID, int lastPostID)
{
    var list = Posts.GetPostsByRootCategoryIDForAjax(categoryID, lastPostID);

    return new JsonResult()
    {
        Data = list
    };
}

1 个答案:

答案 0 :(得分:2)

没有任何可以限制基于ContentType的请求的开箱即用功能。但是您可以随时编写自定义操作过滤器并在那里进行必要的限制。

public class RestrictionAttribute : FilterAttribute, IActionFilter
{
    public void OnActionExecuted(ActionExecutedContext filterContext)
    {

    }

    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
        //Check for the content type take decision based on that.
    }
}