Java Web服务向C#客户端发送数据的最佳方法

时间:2018-05-19 19:41:51

标签: c# jax-rs

这是我们的架构: 当分配问题时,JIRA webhook将消息发送到Java Jersey REST服务。

当用户登录计算机时,C#客户端应用程序将用户名/主机组合注册到Java Web服务

当Web服务收到来自JIRA的消息时,它会找到受理人用户名并将所需数据发送到用户登录的主机上的C#客户端应用程序。

我想到了几种解决Web服务到客户端消息的方法。

我的第一个是在客户端上打开一个TCP端口,让服务直接向它发送每条消息。这是最直接的方法,但使客户端有点沉重,因为它维护了用户分配的票证数据列表,然后他们可以操作(确认或删除)。

另一个是让服务维护数据模型,客户端定期请求数据。这使得客户端更简单但是我必须实现轮询间隔来获取数据,并添加一些POST方法来确认和从用户列表中删除数据。

我正在寻找不同的方法让客户端在服务中注册一个通道,比如ServiceStackEvents,但是我看不到一种方法可以使用C#客户端和Java服务。这样的事情会很完美。服务根据用户过滤器向客户端发送回调或事件消息的方法。

如果某人有一些建议或知道API有助于此,请发布一个链接,以便我可以深入研究。 POST都在游泳,它只是将数据传回给客户,我正在努力采用最佳方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

客户端轮询并不是一个糟糕的解决方案。

但是如果你想要一个防火墙和代理友好的双工协议,请查看WebSockets https://en.m.wikipedia.org/wiki/WebSocket