Как правильно получить доступ к IUrlHelper
из моего класса SignalR Hub
(ASP.Net Core 2.1)?
Я пытаюсь динамически генерировать ссылки на различные действия внутри класса Hub.
Как правильно получить доступ к IUrlHelper
из моего класса SignalR Hub
(ASP.Net Core 2.1)?
Я пытаюсь динамически генерировать ссылки на различные действия внутри класса Hub.
Тебе нельзя. UrlHelper
требуется экземпляр ActionContext
для создания URL-адресов, который существует только в контексте запроса. Концентратор SignalR существует вне конвейера запросов. Вместо этого вы должны передать URL-адрес в соответствующий метод концентратора из того места, где UrlHelper
действительно существует, например, действие контроллера, вместо того, чтобы полагаться на концентратор для его создания.
ActionContext
фактически существует. Если вы попытаетесь использовать этот класс обслуживания в чем-то вроде обычного консольного приложения, это тоже не удастся. ActionContext
в вашем хабе имеет значение null, потому что, опять же, хаб не является частью конвейера запросов.
- person Chris Pratt; 18.06.2018
HttpRequest
или HttpContext
, абстрактны. Нет ли подобного в .NET Core 2.1?
- person Lion; 18.08.2019