功能需求,现时已经编写了一个hub能够,将后台的消息发送至前台中,并给出提示,但如后台已经发生了变化,由内部调用消息时,应该怎样处理?
1.编写Hub类
using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.AspNet.SignalR; namespace ArasServiceObject.Hubs { //连接的Hub一定要与Hub Class中的名字一样 public class ChatHub : Hub { //public void Send(string name,string pi_message) //{ // Clients.All.addNewMessageToPage(name, DateTime.Now.ToString() + "--" + pi_message); //} static IHubContext signalRHub; public static void Send(string name, string pi_message) { if (signalRHub == null) { signalRHub = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); } if (signalRHub != null) { signalRHub.Clients.All.addNewMessageToPage(name, DateTime.Now.ToString() + "--" + pi_message); } } } }
2. 事件源调用
ArasServiceObject.Hubs.ChatHub.Send("System","Run GetByID");