Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
Jquery 从泛型处理程序signer中的C#代码调用客户机方法_Jquery_Asp.net_Signalr_Signalr Hub_Signalr.client - Fatal编程技术网

Jquery 从泛型处理程序signer中的C#代码调用客户机方法

Jquery 从泛型处理程序signer中的C#代码调用客户机方法,jquery,asp.net,signalr,signalr-hub,signalr.client,Jquery,Asp.net,Signalr,Signalr Hub,Signalr.client,我有以下Hub: public class ImageHub : Hub { public void LoadTheImage(String id, String imageUrl) { Clients.All.loadReadyImage(id, imageUrl); } } 以及客户端上的以下JavaScript代码 $(function () { var loadImage = $.connection.imageHub; loadImag

我有以下
Hub

public class ImageHub : Hub {
    public void LoadTheImage(String id, String imageUrl) {
        Clients.All.loadReadyImage(id, imageUrl);
    }
}
以及客户端上的以下JavaScript代码

$(function () {
    var loadImage = $.connection.imageHub;
    loadImage.client.loadReadyImage = function (id, imageUrl) {
    alert(id + " is ready. Url: " + imageUrl); //this will be much more than an alert.
    };
});
并在.ashx.cs文件上获得以下代码,该文件是一个通用处理程序:

public void ProcessRequest(HttpContext context) {
    //do some stuff here
    var imageContext = GlobalHost.ConnectionManager.GetHubContext<ImageHub>();
    imageContext.Clients.All.loadReadyImage("imageOne", imageUrl);
}
但是,我不需要从客户端调用函数,而是需要从服务器端调用客户端函数

我该怎么做


谢谢大家。

您必须启动连接,才能发送和接收消息,就像您在第二段代码中所做的那样

$.connection.hub.start()
    .done(function(){ console.log('Now connected, connection ID=' + $.connection.hub.id); })
    .fail(function(){ console.log('Could not Connect!'); });
});

您不是在第一个javascript代码段中调用
$.connection.hub.start()
吗?不是。我应该调用它吗?在添加.start()之后,它似乎起作用了。我错过了谁D谢谢你。如果你不介意的话,加上这个作为答案,我们会接受的。
$.connection.hub.start()
    .done(function(){ console.log('Now connected, connection ID=' + $.connection.hub.id); })
    .fail(function(){ console.log('Could not Connect!'); });
});