我需要在ASP.NET MVC 5中创建一个简单的聊天室。
创建模型,查看模型和使用AJAX ActionLink我可以让一个用户轻松地将新数据发布到页面的部分更新区域。我在网上找到了很多这样的例子。
但是,当外部用户也发送消息时,我还需要更新“聊天/消息窗口”。如何将这些事件发送给客户端 - 如何通过仅添加外部用户所说的内容(不刷新聊天的所有文本)来更新聊天?
THX。
答案 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不需要服务器上的任何其他功能。