Варианты технологии: длительный процесс с обратной связью (думаю, индикатор выполнения)? - PullRequest
0 голосов
/ 18 июня 2019

Самый простой способ подумать о моей проблеме - это показать клиенту индикатор выполнения с кнопкой отмены.Мы делаем это сегодня для интеллектуальных клиентов, использующих SignalR, но теперь нам нужно нечто подобное для толстого клиента.

У меня длительный процесс (обычно минута или две, но может занять до часа) намой сервер.Я хочу, чтобы мой толстый клиент мог взаимодействовать с ним двумя способами: 1) я хочу, чтобы сервер отправлял обновления прогресса клиенту, 2) я хочу, чтобы клиент мог отменить процесс.Есть, конечно, несколько способов сделать это.На самом деле, я сделал это несколькими способами сам.Так что я не ищу конкретно решение.Я пытаюсь понять, какой из них будет лучшим выбором технологии, зная направление Microsoft (и отрасли) в будущем.

Вот три возможности, которые приходят на ум (не стесняйтесь добавлять больше):

  1. Традиционный WCF (эмуляция даже более старого «Remoting»): хороший выбор (и, вероятно, мой выбор по умолчанию), за исключением того, что похоже, что MS не будет поддерживать WCF в .NET Core на сервере (кроме открытогоисходные библиотеки сообщества).
  2. Azure Service Bus с использованием очередей или тем: работоспособный и отказоустойчивый, но, возможно, немного более сложный / трудоемкий для реализации.
  3. gRPC: кажется, этоВ каком направлении MS нам следует заменить WCF / Remoting, но это все еще только в превью?

Мысли?Мнения?

Спасибо!

PS Если вы можете придумать какие-нибудь другие хорошие места, чтобы задать этот вопрос, пожалуйста, дайте мне знать.

...