使用 SignalR 与 WCF 将数据推送到客户端? [英] Push data to client using SignalR vs WCF?

查看:103
本文介绍了使用 SignalR 与 WCF 将数据推送到客户端?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 WPF 客户端-服务器应用程序.现在我有这样的场景,客户端将连接到服务器,服务器将定期将数据推送到客户端.我对应该选择什么技术和方式来通知客户有点困惑.

I have one WPF client-server application. Now I have scenario like client will connect to server and server will push data to client periodically. I am bit confused about what technology and way should I choose for notification to clients.

SignalR 最适合我认为的 Web 应用程序,而且我有桌面应用程序.通过WCF服务,我们可以通过Duplex channel和callback实现推送通知.那么能否请您指导我使用 SignalR 或 WCF 服务的优缺点是什么?

SignalR is best for web application I think and I have desktop application. With WCF service, we can implement push notification through Duplex channel and callback. So can you please guide me what are the merits and demerits in using SignalR or WCF service ?

谢谢

推荐答案

以下是我的经验观察:

SignalR 优点:

SignalR pros:

  • 易于启动,学习曲线较低.您可以轻松运行从网络上找到的示例
  • 异常处理(例如连接中断、超时)嵌入在 API 中

SignalR 的缺点:

SignalR cons:

  • 仅支持 HTTP 协议

双工优点:

  • 除 HTTP 外还支持 TCP.如果您知道您的客户端类型并且您的系统在封闭网络中工作,这可能会带来严重的性能提升.此外,通过 TCP 工作比 HTTP 增加了更多的连接稳定性

双工缺点:

  • 更高的学习曲线 - 更难启动并且拥有稳定的解决方案.想要验证吗?从 Web 下载双工和 SignalR 示例,看看您将花费多少时间来成功运行彼此.
  • 您需要处理所有异常情况(连接中断、超时等)
  • 我知道当您想要长时间使用双工服务时,我并不是唯一一个面临严重超时问题的人.我们需要定期进行服务调用以保持客户端连接有效.

顺便说一下,JavaScript、Desktop 和 Silverlight 项目存在 API 来使用 SignalR 服务.

By the way, there are APIs exist for JavaScript, Desktop and Silverlight projects to consume SignalR services.

这篇关于使用 SignalR 与 WCF 将数据推送到客户端?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆