技术选择:具有反馈的长期运行过程(想想进度条)吗?

时间:2019-06-17 22:09:53

标签: c# .net azure wcf

思考问题的最简单方法是,我想向客户显示带有取消按钮的进度条。今天,我们为使用SignalR的思想客户执行此操作,但是对于胖客户,我们现在需要类似的东西。

我的服务器上有一个长期运行的过程(通常是一两分钟,但可能要花一个小时)。我希望胖客户端能够通过两种方式与之交互:1)我希望服务器将进度更新发送回客户端,2)我希望客户端能够取消该过程。当然,有许多方法可以做到这一点。实际上,我本人已经通过多种方式做到了这一点。因此,我并不是专门寻找解决方案。我试图了解哪种技术是了解微软(以及未来)行业发展方向的最佳选择。

这里浮现出三种可能性(随意添加更多):

  1. 传统WCF(甚至可以模拟较旧的“ Remoting”):是不错的选择(可能是我的默认选择),只是听起来MS不会在服务器上的.NET Core中支持WCF(除了开源社区,驱动库)。
  2. 使用队列或主题的Azure Service Bus:可操作且具有弹性,但可能要实现一些复杂性/工作量/代码。
  3. gRPC:这似乎是MS希望我们取代WCF / Remoting的方向,但这仍然仅在预览中。

有什么想法吗?意见?

谢谢!

P.S。如果您能想到其他任何发布此问题的好地方,请告诉我。

0 个答案:

没有答案