Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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# 如何在ASP.NET MVC中应用长轮询技术?_C#_Asp.net Mvc_Asp.net Mvc 4_Signalr_Long Polling - Fatal编程技术网

C# 如何在ASP.NET MVC中应用长轮询技术?

C# 如何在ASP.NET MVC中应用长轮询技术?,c#,asp.net-mvc,asp.net-mvc-4,signalr,long-polling,C#,Asp.net Mvc,Asp.net Mvc 4,Signalr,Long Polling,我搜索了很多关于轮询技术的信息,但找不到任何关于如何在asp.NETMVC中应用此技术的信息。有这么多的文章和文档,但大多数都是关于php和ajax的 我想在两个地方将这种技术用于我的项目,一个是tweet系统,比如twitter,另一个是聊天系统。我很好奇在MVC中应用这种技术的最佳方式是什么?我必须使用信号机吗?这是最好的选择吗 如果你能给我一些样品或文件,那就太好了,谢谢 如果您想将数据从服务器推送到客户机,signar无疑是一个不错的选择。有一次,我尝试使用一个支持和开发得不太好的库来实

我搜索了很多关于轮询技术的信息,但找不到任何关于如何在asp.NETMVC中应用此技术的信息。有这么多的文章和文档,但大多数都是关于php和ajax的

我想在两个地方将这种技术用于我的项目,一个是tweet系统,比如twitter,另一个是聊天系统。我很好奇在MVC中应用这种技术的最佳方式是什么?我必须使用信号机吗?这是最好的选择吗


如果你能给我一些样品或文件,那就太好了,谢谢

如果您想将数据从服务器推送到客户机,signar无疑是一个不错的选择。有一次,我尝试使用一个支持和开发得不太好的库来实现这一点,但从我所看到的信号器示例来看,这比我所做的要容易得多。开始阅读文档和示例代码,它们相对简单

这是一篇关于的文章,它向您展示了实现服务器到客户端推送所需的代码是多么少

这是因为通信建立的所有繁重工作都是由signer的API在.Net服务器和JavaScript客户端上完成的。

什么是“最佳”解决方案有待讨论,而本论坛并不是关于这一点

如果您想做的是真正的点对点通信,signar不会这样做——它设计用于将数据从服务器推送到客户机,并执行从服务器到客户机的远程过程调用(rpc)

如果您想要的是通过服务器作为中心集线器的n路通信,那么SignalR无疑是一种选择。这是一项经过验证的技术,并得到了微软的全力支持


Microsoft发布了一篇关于使用SignalR 2.0()的教程,该教程实现了一个聊天应用程序。

如果您想要使用SignalR进行基于事件的通信的简单方法,您可以看看我的基于SignalR的库

你可以在这里看到如何设置它

您也可以下载演示来测试它,并通过这种方式学习


您可以通过添加链接来改进答案。也许你也可以提供一些关于为什么这是一种方式的信息。有一个类似的问题,但当前的答案都没有提供代码,因为它们确实解释了投票要多长时间才能正确(例如,讨论IIS设置问题和负载平衡问题,同时指出多长时间的轮询会退化为短轮询,甚至会退化为自我实施的拒绝服务攻击!)