在ASP.NET MVC 3中响应HEAD请求

4
有没有一种方式在Asp.NET MVC 3中以通用方式响应HEAD请求,而不是将HEAD属性添加到单个方法中?
1个回答

4
创建一个带有 RouteConstraint 的路由,如下所示:
routes.MapRoute(
    "HEAD Requests",
    "{*fullPath}",
    new { controller = "Head", action = "Index" },
    new { fullPath = new MustBeHeadRequest() }
);

public class MustBeHeadRequest : IRouteConstraint
{
    public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
    {
        return httpContext.Request.HttpMethod.ToLowerInvariant() == "head";
    }
}

将路由放置在路由表的顶部或附近。当收到HEAD请求时,它将被路由到HeadController的Index操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接