Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# net和观察者模式的信号器_C#_.net_Design Patterns_Signalr - Fatal编程技术网

C# net和观察者模式的信号器

C# net和观察者模式的信号器,c#,.net,design-patterns,signalr,C#,.net,Design Patterns,Signalr,到目前为止,我已经阅读了很多解释信号机的文章 搜索找到了一个简单的定义:signar可用于开发实时web应用程序 根据wiki的说法:实时Web应用程序是一组技术和实践,使用户能够在其作者发布信息后立即接收信息,而不是要求他们或他们的软件定期检查源以获取更新 signar似乎类似于observer/publisher&Subscriber模式,其中客户端订阅服务器,服务器在事件发生时向所有客户端发送通知 所以我的问题是: 1) 信号器是否基于消息传递模式(即观察者/发布者和订阅者) 2) 如果是

到目前为止,我已经阅读了很多解释信号机的文章

搜索找到了一个简单的定义:signar可用于开发实时web应用程序

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

signar似乎类似于observer/publisher&Subscriber模式,其中客户端订阅服务器,服务器在事件发生时向所有客户端发送通知

所以我的问题是: 1) 信号器是否基于消息传递模式(即观察者/发布者和订阅者)

2) 如果是,那么为什么我们已经有了另一个消息传递模式信号器呢


3) SignalR与消息传递模式(观察者/发布者和订阅者)相比有哪些优势?

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

回答1。是的,这有观察者/订户模式实现。客户端需要首先订阅服务器事件。然后,服务器向客户机广播(或者向每个客户机发送消息)

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


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

我也会考虑CIMET服务器实现,更详细地看这个问题,SignalR是一个实现,而不是抽象模式。