SignalR ASP. NET Core 3.1- Как получить данные о вызове c снаружи хаба? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть веб-API, в который в контроллер встроен интерфейс, и этот интерфейс, называемый ISystem, может быть экземпляром нескольких различных классов, скажем, System1 и System2. В зависимости от значения, переданного в заголовке HTTP вызова API, я создаю конкретный экземпляр System1 или System2 для объема данного запроса. Я использую конструктор AddScoped(), который принимает фабричный метод, и в этом фабричном методе я получаю экземпляр HttpContextAccessor, чтобы перейти к текущему HttpContext, проверить заголовки и построить соответствующий конкретный класс.

Теперь я добавил концентратор SignalR к этому API, и для концентратора также требуется экземпляр того же интерфейса, который в настоящее время внедрен в конструктор концентратора.

Моя проблема в том, что я понятия не имею, как может получить некоторую определенную пользователем часть данных c для вызывающей стороны метода-концентратора для использования на фабрике AddScoped(), и поэтому у меня нет возможности узнать, какой конкретный класс ISystem создать при поступлении вызова на мой хаб. Концентратор не требует аутентификации.

Любая помощь будет принята с благодарностью.

...