ASP.NET MVC 5 AJAX - 在本地& amp;更新时更新聊天室远程用户发帖

时间:2016-10-03 03:01:05

标签: asp.net-mvc asp.net-mvc-5

我需要在ASP.NET MVC 5中创建一个简单的聊天室。

创建模型,查看模型和使用AJAX ActionLink我可以让一个用户轻松地将新数据发布到页面的部分更新区域。我在网上找到了很多这样的例子。

但是,当外部用户也发送消息时,我还需要更新“聊天/消息窗口”。如何将这些事件发送给客户端 - 如何通过仅添加外部用户所说的内容(不刷新聊天的所有文本)来更新聊天?

THX。

2 个答案:

答案 0 :(得分:3)

您可以每隔几秒检查一次新消息,但这不是最佳方法,因为它包含不必要的服务器命中。

最好的方法是使用SignalR来抽象Web服务器通知连接客户端的方式,这些客户端可以是浏览器,桌面或移动设备,这也是SignalR真正擅长的地方。

本教程将逐步解释您的需求

https://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

答案 1 :(得分:0)

如果这是一个简单的聊天室,没有任何"高级"功能,如私人消息等,那么最轻量级的解决方案是使用服务器端事件(SSE)。

您可以在此处查看stackoverflow文章:"How do server-sent events work with ASP.NET MVC?"

SignalR是一个很好的解决方案,但为了最好的工作,它需要网络套接字,而不是所有托管选项都包括在内。 SSE不需要服务器上的任何其他功能。