Пользовательские 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();