前言:

最近写了一个项目,要实现即时通讯功能,在网上查了一下有两种常见的实现方式:SignalR和WebSocket,SignalR是封装好的一个类库,有三种传输模式:LongLooping(长轮询)、WebSocket、Forever Frame(隐藏框架的长请求连接),它会根据浏览器的环境自动选择合适的传输方式(比如说低版本的IE浏览器不支持WebSocket,SiganlR就会采用长轮询的方式传输)。SiganlR的介绍可以在百度搜一下有很多,这篇博客简单的介绍一下如何用SiganlR实现一个实时的消息推送功能。

一开始用户留言是存到SqlServer中的,考虑到用户留言价值相对较低,数据量大的特点,用MongoDB在性能上比较有优势(不用写Sql了,干活好快)

 

实现步骤:


1.安装SignalR

Install-Package Microsoft.AspNet.SignalR

安装成功后会系统会新增对应的js文件

SignalR+MongoDB实现用户留言即时推送

 

2.创建Connections文件夹,存放永久连接类和Startup.cs

创建永久连接类:

SignalR+MongoDB实现用户留言即时推送

代码:

    public class ChatConnections : PersistentConnection
    {
        protected override Task OnConnected(IRequest request, string connectionId)
        {
            return null;
        }

        protected override Task OnReceived(IRequest request, string connectionId, string data)
        {
            return Connection.Broadcast(data);
        }
    }
View Code

相关文章:

  • 2021-11-27
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-15
  • 2021-05-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-12
  • 2021-06-01
  • 2022-12-23
  • 2022-12-23
  • 2021-05-15
相关资源
相似解决方案