Вот наша архитектура: JIRA webhook отправляет сообщения в службу REST Java Jersey при возникновении проблем.
Клиентское приложение C # регистрирует комбинацию имени пользователя / хост-машины с веб-сервисом Java, когда пользователь входит в систему.
Когда веб-служба получает сообщение от JIRA, она находит имя пользователя, которому назначен, и отправляет необходимые данные клиентскому приложению C # на хост-машинах, на которых пользователь вошел в систему.
Я подумал о паре подходов к решению веб-сервиса для клиентского сообщения.
Сначала я открываю TCP-порт на клиенте и заставляю службу отправлять каждое сообщение непосредственно ему.Это наиболее простой подход, но делает клиента немного тяжелым, поскольку он поддерживает список назначенных пользователем данных о билетах, которыми они могут затем манипулировать (подтверждать или удалять).
Другой обслуживает службумодель данных и клиент периодически запрашивает данные.Это делает клиент проще, но тогда мне нужно будет установить интервал опроса, чтобы получить данные, и добавить несколько методов POST для подтверждения и удаления данных из списка пользователя.
Я искал разные способы получитьклиент регистрирует канал в сервисе, например ServiceStackEvents, но я не вижу способа заставить это работать с клиентом C # и сервисом Java.Нечто подобное было бы идеально.Способ для службы посылать обратные вызовы или сообщения о событиях клиенту на основе пользовательского фильтра.
Если у кого-то есть предложения или какой-либо API, чтобы помочь с этим, пожалуйста, опубликуйте ссылку, чтобы я мог углубиться вЭто.Все POST работают без сбоев, я просто передаю данные клиентам, и я борюсь с лучшим подходом.
Спасибо!