c#, Учитывая веб-приложение с REST API и хотите добавить веб-сокеты, с которыми может взаимодействовать каждый REST API, где определить ClientManager для глобального доступа? - PullRequest
0 голосов
/ 10 января 2020

Это не вопрос доступа к REST API через веб-сокет.

У меня есть REST API, который уже существует, и я хочу добавить веб-сокеты, которые я могу отправить через «eventId» в стиль, похожий на Google Cloud Messaging / Firebase. Этот eventId может затем использоваться клиентами для доступа к необходимым API.

Вопрос в том, где я могу определить «ClientManager»?

В настоящее время я создаю экземпляр ClientManager в «Configure» и ниже я принимаю сокеты и возвращаю их данные в качестве теста (как описано здесь: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1). Я не уверен, как получить доступ к этому экземпляру из других источников в веб-приложении. Кажется, это должно быть определено глобально. Я нашел некоторую информацию об услугах. AddSingleton, но не смог заставить это работать.

1 Ответ

0 голосов
/ 10 января 2020

Ответ можно найти здесь: ASP. NET Ядро инициализировать синглтон после настройки DI

Вы объявляете синглтон в ConfigureServices и затем передаете его в качестве параметра для Configure , Ссылка выше дает несколько других техник с одинаковым результатом.

...