功能需求,现时已经编写了一个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");