自定义RouteContraint与IOptions

时间:2016-10-13 00:27:02

标签: asp.net-core asp.net-core-mvc route-constraint

有没有办法将IOptions传递给自定义IRouteConstraint?我试图检查一个appsetting,看看我是否需要某条路线。

1 个答案:

答案 0 :(得分:1)

目前找不到任何参考资料,但

  1. 当你在构造函数中传递它时它是否有效(我假设你尝试了它并且它不起作用)
  2. HttpContext获取,传递给Match方法
  3. 示例:

    public class MyConstraint : IRouteConstraint
    {
        public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection)
        {
            var options = httpContext.RequestServices.GetService<IOptions<MySettings>>();
    
            return ...;
        }
    }