Пользовательские RazorPage получают доступ к IRequest и Route Info

Используя реализацию Razor для ServiceStack и AspNetCore, как я могу получить доступ к IRequest, чтобы получить информацию о маршруте для пользовательской страницы бритвы? В конечном итоге я хочу получить атрибут Name на маршруте, если это возможно.

открытый абстрактный класс CustomView: RazorPage { public IRequest Req { get; задавать; } // всегда ноль

    protected Breadcrumb Breadcrumb
    {
        get
        {
            return new Breadcrumb(this.Req); // need to pass IRequest to breadcrumbs so it can produce them
        }
    }
}

Маршруты определяются с помощью специального атрибута, который наследуется от Route.

[CustomRoute("/message/{id}", View = "MessageDetailView", Name = "GetById")]

Пользовательский маршрут:

 public class CustomRoute : RouteAttribute
    {
        public string Name { get; set; }
        public string View { get; set; }
        public CustomRoute(string path) : base(path) { }
        public CustomRoute(string path, string verbs) : base(path, verbs) { }
    }

1 ответ

Решение

Похоже, что по крайней мере в веб-приложениях (в отличие от самостоятельного размещения) работают следующие:

 IRequest req = HostContext.TryGetCurrentRequest();
Другие вопросы по тегам