Там нет ничего особенного в том, что вы хотите достичь. Перед отправкой сообщений SignalR ваше клиентское приложение должно пройти аутентификацию. Таким образом вы можете идентифицировать пользователя и защитить свои серверные ресурсы. Это первая часть, с которой я бы начал изучать (есть много информации об этом вопросе, если вы это сделаете).
Затем вам необходимо отправить сообщение с сервера пользователю, и у этого пользователя может быть подключено 2 клиентских приложения (веб-и мобильные или даже больше, как и другие вкладки браузера). Это может быть достигнуто с помощью групп SignalR. Группа SignalR - это всего лишь группа подключений (не пользователей) с заданным именем. Одним из распространенных сценариев является создание группы для каждого пользователя, и эта группа будет поддерживать соединения пользователя. Это логическая структура псевдо, как работают SignalR группы (не фактический код):
Group name: "johnUser"
Group connections: [
00001, // mobile app connection
00002, // brower tab connection
00003, // broswer tab connection 2
0000n // etc
]
Эти цифры являются идентификаторами моделирование подключения. SignalR создает их для вас. Тогда вам просто нужно отправить сообщение группе, и все подключенные клиенты получат ее.
Если вы только начинаете с SignalR я бы не усложнять implenting в backpane, если вы действительно не нуждаетесь в этом, и вы знаете, что вы делаете. Один сервер может обрабатывать сотни одновременных подключений, и вы можете масштабировать их позже, если хотите.
Что касается архитектуры, подмигнули не очень понятно, что вы имеете в виду Web и API работает отдельно. Лучше, если вы зададите более конкретные вопросы после того, как попытаетесь что-то сделать.
Вы находитесь в сбалансированной по нагрузке среде? –
да .. и я ищу любое решение, которое может работать в backend .. – NMathur
Что значит «что делать?» Не совсем ясно, чего вы хотите. Вы только что описали проект, а не проблему. Stack Overflow предназначен для ответа на конкретные проблемы программирования, не помогая вам в архитектуре вашего приложения. – mason