C# webchat的WCF、信号器或WebSocket

C# webchat的WCF、信号器或WebSocket,c#,asp.net,wcf,websocket,signalr,C#,Asp.net,Wcf,Websocket,Signalr,我正在尝试在ASP.NET上开发与网站集成的网络聊天。什么样的消息传递技术更适合于它?请谈谈彼此的优点或缺点。 我会很高兴回答每一个问题。我倾向于使用信号机。 WCF用于tick客户端应用程序;它不是为从浏览器中使用而设计的 Signalr是web套接字(带有回退)的包装器,是您想要使用的 WebSockets是一种协议,具有不同语言的各种实现 对于非实时场景,您可能需要ASP.Net Web API。我不会包括WCF,因为它更像是一种构建服务于您所需数据的服务的技术 所以它实际上可以归结为W

我正在尝试在ASP.NET上开发与网站集成的网络聊天。什么样的消息传递技术更适合于它?请谈谈彼此的优点或缺点。 我会很高兴回答每一个问题。我倾向于使用信号机。

  • WCF用于tick客户端应用程序;它不是为从浏览器中使用而设计的

  • Signalr是web套接字(带有回退)的包装器,是您想要使用的

  • WebSockets是一种协议,具有不同语言的各种实现


对于非实时场景,您可能需要ASP.Net Web API。

我不会包括WCF,因为它更像是一种构建服务于您所需数据的服务的技术

所以它实际上可以归结为WebSocket和Signaler

WebSocket是一种允许在web环境中进行双向通信的技术。当然,并非所有浏览器都支持它


SignalR是一个将多种通信技术结合在一起的库。例如:WebSocket和长轮询。对于您的问题,这是一个更好的选择,因为它将自动处理可用于实现您所寻求的双向通信的技术。

它应适用于实时场景。请解释为什么不包括WCF。据我所知,使用WCF开发图表是一种非常普遍的做法。我确实这样做了。WCF更多用于建筑服务和数据服务。它不像websockets和SinglR,它们只是用来创建到服务器的双向链接并将其向下推。WCF不能在这样的浏览器中本机使用。您可以创建一个WCF服务并使用AJAX调用它。谢谢。也许你知道一些关于这些技术生产力的事实?