Предполагая, что вам нужно что-то вроде ...
Пользователь (браузер) --- Приложение A --- Приложение B --- Пользователь (браузер)
Обмен данными в реальном времени можетэто можно сделать, выполнив следующее ...
Это не работа для signalR, однако что-то вроде NServiceBus очень хорошо подойдет для этого.
вы ссылаетесь на файл шины dll, и концентраторы могут оба поднятьи реагировать на события.В вашем случае вы должны использовать и SignalR, и вашу технологию Service Bus для совместной синхронизации приложений.
Таким образом, процесс выглядит примерно так: *
- Пользователь в приложении Aзапускает браузер и запрашивает страницу.
- Приложение A создает экземпляр Hub, который внутренне подписывается на события служебной шины.
- Пользователь в приложении B запускает браузер и запрашивает страницу.
- Приложение B создает экземпляр Hub, который внутренне подписывается на события служебной шины.
- Пользователь в любом приложении выполняет какое-либо действие, в результате чего SignalR принимает сообщение.
- SignalR вызывает событие шины, чтобы сказать «Этот пользователь что-то сделал» на служебной шине.
- Other Hub в другом Приложении посредством подписки на событие получает уведомление о событии и предпринимает какие-либо действия, чтобы проинформировать об этом своих подключенных пользователей.
Урок, который необходимо извлечь здесь ...Не пытайтесь заставить технологию сделать что-то не по назначению ... используйте правильный инструмент для работы.
Это полное решение может быть сделано с помощью чуть более 20 строк кода после получения базовой инфраструктуры.setup.
NServiceBus можно найти здесь:
http://particular.net/nservicebus
Отказ от ответственности: могут быть другие решения, но это одно предложение, не предполагайте, что этоЕдинственный способ, которым это может быть решено, и единственные технологии, которые будут использоваться таким образом.Я никоим образом не связан с Particular или продуктом NServiceBus.