SignalR for .net和Observer Pattern

Ani*_*ani 5 .net c# design-patterns signalr

到目前为止,我已经阅读了许多解释SignalR的文章.

搜索变成了一个简单的定义:SignalR可用于开发实时Web应用程序

根据维基:实时Web应用程序是一组技术和实践,使用户能够在作者发布信息后立即接收信息,而不是要求他们或他们的软件定期检查来源以获取更新.

似乎SignalR类似于观察者/发布者和订阅者模式,其中客户端订阅服务器,并且如果事件发生,则服务器将通知发送到所有客户端.

所以我的查询是:1)SignalR是否基于消息模式(即观察者/发布者和订阅者)?

2)如果是,那么为什么我们已经存在一个消息模式SignalR.

3)SignalR相对于消息模式有什么优势(观察者/发布者和订阅者)

Dha*_*777 7

这个问题已经有近4年没有得到解答了!SignalR是Microsoft推荐的实时应用程序开发解决方案.Http请求/响应模型要求客户端调用服务器以从服务器获取响应.但SignalR允许服务器将消息推送到客户端,而无需客户端频繁轮询服务器.

正确答案为.是的,这有观察者/订阅者模式实现.客户端需要首先订阅服务器事件.然后,服务器广播(或者它可以向每个客户端发送消息)到客户端.

答案2和3.如果您需要将通知推送到客户端(如fb通知,事件日志等),我将更加实用这个答案,这将是理想的选择.在.Net技术堆栈中没有类似于SignalR的其他技术,这更有效地实现了这一点.

请参阅此Stock Market示例应用程序,了解它如何生成服务器事件并实时传递到客户端.多人游戏和在线聊天是其他一些有用的案例.