Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在SignalR 2.0中从服务器向客户端发送消息_C#_Jquery_Asp.net Mvc 5_Signalr - Fatal编程技术网

C# 在SignalR 2.0中从服务器向客户端发送消息

C# 在SignalR 2.0中从服务器向客户端发送消息,c#,jquery,asp.net-mvc-5,signalr,C#,Jquery,Asp.net Mvc 5,Signalr,我正在学习信号器,它很简单。但是,我在从服务器向客户端发送消息时遇到问题 我的Hub类如下所示: public class UpdateHub : Hub { private readonly UpdateBroadcast _broadcaster; public UpdateHub() : this(UpdateBroadcast.Instance) { } public UpdateHub(UpdateBroadcast broadCaster) {

我正在学习信号器,它很简单。但是,我在从服务器向客户端发送消息时遇到问题

我的Hub类如下所示:

public class UpdateHub : Hub
{
    private readonly UpdateBroadcast _broadcaster;

    public UpdateHub() : this(UpdateBroadcast.Instance) { }

    public UpdateHub(UpdateBroadcast broadCaster)
    {
        _broadcaster = broadCaster;
    }
}
我在我的广播课上这样称呼这个中心:

public class UpdateBroadcast
{
    private readonly static Lazy<UpdateBroadcast> _instance = new Lazy<UpdateBroadcast>(
    () => new UpdateBroadcast(GlobalHost.ConnectionManager.GetHubContext<UpdateHub>()));

    private IHubContext _context;

    private UpdateBroadcast(IHubContext context)
    {
        _context = context;
    }

    public static UpdateBroadcast Instance
    {
        get { return _instance.Value; }
    }

    public void UpdatePost(Post post)
    {
        _context.Clients.All.updatePost(post);
    }

}
$(function () {    
    var update = $.connection.updateHub;
    update.client.updatePost = function (data) {
        alert("called update post");
    };
});
当我调试代码时,我可以看到UpdatePost已执行,但客户端没有任何活动。我的客户端功能如下所示:

public class UpdateBroadcast
{
    private readonly static Lazy<UpdateBroadcast> _instance = new Lazy<UpdateBroadcast>(
    () => new UpdateBroadcast(GlobalHost.ConnectionManager.GetHubContext<UpdateHub>()));

    private IHubContext _context;

    private UpdateBroadcast(IHubContext context)
    {
        _context = context;
    }

    public static UpdateBroadcast Instance
    {
        get { return _instance.Value; }
    }

    public void UpdatePost(Post post)
    {
        _context.Clients.All.updatePost(post);
    }

}
$(function () {    
    var update = $.connection.updateHub;
    update.client.updatePost = function (data) {
        alert("called update post");
    };
});

我似乎不明白这是什么原因。

请查看下面的两个链接。我在成功实现signalR方面得到了很大帮助。希望这些链接能帮助你


您在客户端添加了signalR javascript链接了吗?是的,客户端没有错误,我在控制台中查看了。您遵循了哪一个教程?这一个谢谢,我只是忘记了最后一段代码$.connection.hub.start();无论如何谢谢你的帮助