Maj*_*jid 0 .net c# asp.net real-time signalr
我在Global.asax中有一个计时器,它调用一个方法,每隔5秒通过SignalR向所有客户端发送当前时间:
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs();
var timer = new System.Timers.Timer();
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Interval = 5000;
timer.Enabled = true;
}
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
var context = GlobalHost.ConnectionManager.GetHubContext<EventHub>();
context.Clients.All.Send(DateTime.Now.ToLongTimeString());
}
Run Code Online (Sandbox Code Playgroud)
我的Hub类:
public class EventHub: Hub
{
public void Send(string message)
{
Clients.All.broadcastMessage( message);
}
}
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
$(function () {
var context = $.connection.eventHub;
context.client.broadcastMessage = function (message) {
alert("clock: " + message);
};
$.connection.hub.start();
});
Run Code Online (Sandbox Code Playgroud)
没有错误,但运行应用程序时没有发生任何事情.我错了什么?
context.Clients.All.Send(DateTime.Now.ToLongTimeString());
Run Code Online (Sandbox Code Playgroud)
这将Send在客户端上触发一个方法,它不会调用
public void Send(string message)
{
Clients.All.broadcastMessage( message);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |