Утешение нескольких хостов, как определить, у кого есть подписка, и отправить сообщение на эту конечную точку - PullRequest
0 голосов
/ 14 июля 2020

У меня есть основной веб-API. net, в котором я использую утешение, с помощью которого я подписываюсь на событие со свойствами сеанса утешения, несколько хостов, разделенных запятой (,)

 var sessionProps = new SessionProperties()
                {
                    Host = "tcp://hostname1:port1,tcp://hostname2:port2,",
                    VPNName = serviceEndpoint.VPNName,
                    UserName = serviceEndpoint.UserName,
                    Password = serviceEndpoint.Password,
                    ConnectRetries = -1,
                    ReconnectRetries = -1,
                    ReconnectRetriesWaitInMsecs = 3000,
                    ReapplySubscriptions = true,
                    ConnectBlocking = false
                };

, и я мог бы см. на портале утешения, клиентские подключения создаются с помощью сеансов и из моей второй. net основной службы, если я отправляю некоторые сообщения для утешения с указанными выше свойствами сеанса, я получаю сообщения, отправленные в обработчик событий. Пока все в порядке.

Предположим, я отключил одну из конечных точек, скажем tcp://hostname1:port1, я вижу, что подписки переключаются на вторую конечную точку tcp://hostname2:port2 утешением, и когда я отправляю некоторые данные из службы, я увидеть, как он получает доставщика в обработчик событий. это нормально.

Теперь проблема в том, что когда я снова включаю первую конечную точку tcp://hostname1:port1 и пытаюсь отправить сообщение, оно не доставляется моему обработчику событий.

Am я ничего не упустил. просто хотел знать, как определить хост, у которого есть подписка, и отправить сообщение на эту конечную точку.

Любая помощь была бы замечательной.

...