Пользовательский RouteContraint с IOptions

Есть ли способ передать IOptions в пользовательский IRouteConstraint? Я пытаюсь проверить appsetting, чтобы увидеть, нужен ли мне определенный маршрут или нет.

1 ответ

Решение

Не могу найти никаких ссылок в данный момент, но

  1. либо он работает, когда вы передаете его в конструктор (я полагаю, вы пробовали это, и это не сработало)
  2. получить это от HttpContext, который передается в Match метод

Пример:

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 ...;
    }
}
Другие вопросы по тегам