首页 > 解决方案 > 如何使用信号器将数据从集线器传递到查看

问题描述

在此处输入图像描述

为什么在给定 Myhub 类的情况下 MessageReciever 函数不起作用我想在从信号 R Function BroadCastServerTime() 馈送的跨度上显示时间?

在此处输入图像描述

标签: javascriptasp.netmodel-view-controllersignals

解决方案


你能用 JQuery onReady 事件包装你的信号器代码吗?喜欢:

    $(function () {
        $.connection.hub.start().done(function () {
            $.connection.myHub.server.broadCastServerTime();
        });

        $.connection.myHub.client.MessageReceiver = function (message) {
            $('#serverTime').text(message);
        }
    });

这样,您的代码仅在加载 JQuery 并加载 SignalR 集线器时执行。目前,您的信号器代码不会等待 jquery 或信号器集线器加载。

还要确保您的 MyHub 代码将日期时间发送到 MessageReceiver。

public class MyHub : Hub
{
    public void BroadCastServerTime()
    {
        Clients.All.MessageReceiver(DateTime.Now.ToString());
    }
}

推荐阅读