2016-09-19 1 views
4

У меня есть кластер сервисной ткани с веб-API с сигналом D и надежной установкой актера.Azure Service Fabric WebAPI с SignalR

У меня также есть отдельное приложение MVC, которое попадает в веб-интерфейс API.

Я могу подключиться к сигналуR просто отлично с помощью приложения MVC просто отлично, и все работает хорошо. Но когда я попал в API с надежным актером, который затем должен вызывать передачу сигнала signalR в группу, к которой подключено приложение MVC, в моем приложении MVC ничего не происходит. Я знаю, что он попадает в API, поскольку я его регистрирую, чтобы быть уверенным.

Я установил балансировку нагрузки на постоянство сеанса на IP-адрес клиента. Я подозреваю, что концентратор signalR может быть не одним и тем же «концентратором» или его другим узлом? Есть ли способ, которым я могу заставить его быть одним и тем же, чтобы это общалось? Я что-то забываю? Пожалуйста, дайте мне знать, если мне нужно включить дополнительную информацию.

+1

Может быть, что часть трафика идет к одному серверу SignalR но клиенты подключены к другой, и они не видят сообщения потому что у вас нет объединительной платы, чтобы серверы не разговаривали друг с другом? – Pawel

ответ

2

Ответ я нашел SignalR Scaleout with Redis

В основном это используется Redis для обмена сообщениями signalR по всем узлам в ткани обслуживания.

Просто установите Redis, ссылку Microsoft.AspNet.SignalR.Redis и добавить к вашему запуску:

GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(redisConnectionString, "SignalR")); 

 Смежные вопросы

  • Нет связанных вопросов^_^