前面几章讲的都是从客户端触发信息推送的,但在实际项目中,很多信息可能是由系统服务端推送的,下面2图分别展示两种通道
客户端触发推送
服务端推送
下面我们就重点介绍下服务端如何调用集线器的对象进行推送
可能有的同学就会想,直接调用服务端定义的集线器类,然后调用其成员方法。如:
public void Index()
{
new SignalRDemo.hub.DemoHub().Hello("大家好啊");
}
这种是行不通的,看报错:
正确的方式:
public class HomeController : Controller { // GET: Home public void Index() { //获取集线器对象 var demoHubContext = GlobalHost.ConnectionManager.GetHubContext<DemoHub>(); demoHubContext.Clients.All.show("从服务端广播"); } }
效果:
每次刷新服务端地址,就会推送一条信息到客户端。
通过获取集线器对象,来实现对集线器的各种操作。
本章结束!