解决方法
创建一个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操作.