我们直接来干货~~~~~~觉得好推荐一下哈  研究不易

参考–https://www.jb51.net/article/133202.htm  这是基本教程

下面是重点:

如果你想允许跨域

具体代码如下

app.Map(“/signalr”, map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
EnableJSONP = true//跨域的关键语句
};
map.RunSignalR(hubConfiguration);
});

 

 

如果你想服务器主动推送消息给客户端 —这里指的是不通过链接的方式(即服务器广播效果)

 

建立一个公用hepler

代码中:

 1 class SignalRHepler
 2 {
 3 
 4     /// <summary>
 5     /// 获取通讯类上下文
 6     /// </summary>
 7     static  IHubContext _hubContext;
 8     // 定义一个静态变量来保存类的实例
 9     private static SignalRHepler uniqueInstance;
10 
11     // 定义一个标识确保线程同步
12     private static readonly object locker = new object();
13 
14     // 定义私有构造函数,使外界不能创建该类实例
15     public static SignalRHepler Instance
16     {
17         get
18         {
19             // 如果类的实例不存在则创建,否则直接返回
20             if (uniqueInstance == null)
21             {
22                 lock (locker)
23                 {
24                     uniqueInstance = new SignalRHepler();
25                     _hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
26                 }
27             }
28             return uniqueInstance;
29         }
30     }
31     /// <summary>
32     /// 推送消息
33     /// </summary>
34     public void BroadcastMessage(List<B2cmesremind> model)
35     {
36         if (model != null && model.Count > 0)
37         {
38             HubContext.Clients.All.sendMessage(model);
39         }
40     }
41     /// <summary>
42     /// 发送消息
43     /// </summary>
44     /// <param name="companyId">用户CompanyId</param>
45     public void BatchSend(string companyId)
46     {
47         var list = NetWork.WcfHelper.TravelHelper.GetList_B2cmesremind(new Dictionary<string, object> {
48                 { nameof(B2cmesremind.IsDeleted),0},
49                 { nameof(B2cmesremind.IsRead),0},
50                 { nameof(B2cmesremind.CompanyId),companyId}
51             });
52         BroadcastMessage(list);
53     }
54 }

 可以看出来  

HubContext.Clients.All.sendMessage(model); 中
sendMessage方法是自己定义的客户端接受方法

至此,大功告成   有问题联系我就是

版权声明:本文为lovemj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lovemj/p/10149861.html