在以前的MVC版本中,有许多关于如何创建RouteConstraints的教程:
如何使用MVC6,特别是注册自定义路由约束,以便可以在ApiController操作的属性中使用?
我已经创建了一个名为NonEmptyGuid的自定义路由约束,它实际上只是确保使用一个非空的Guid作为GET操作的参数:
public class NonEmptyGuid : IRouteConstraint
{
public bool Match(HttpContext httpContext, IRouter route, string routeKey, IDictionary<string, object> values, RouteDirection routeDirection)
{
if (!values.ContainsKey(routeKey)) return false;
if (values[routeKey].ToString().Equals(Guid.Empty.ToString())) return false;
return true;
}
}问题:如何在何处为MVC6应用程序注册这个自定义RouteConstraint (例如,在WebApi项目中)。
发布于 2015-09-15 12:42:07
您可以使用RouteOptions注册约束:
services.Configure<RouteOptions>(options =>
options
.ConstraintMap
.Add("test", typeof(TestRouteConstraint)));https://stackoverflow.com/questions/32583743
复制相似问题