我听说SignalR是一个很好的消息库。我为SignalR获得了一些代码,但我无法理解它是如何工作的。
JS
var hooking;
$(function() {
hooking = $.connection.hooking;
hooking.removeLead = function(ref) {
$("lead" + ref).remove();
};
$.connection.hub.start();
});
C#
// Hooking.cs (placed in application root)
public class Hooking : Hub
{
public void Submit(string jsonString)
{
var serializer = new JavaScriptSerializer();
var json = serializer.Deserialize<HookingLeadResult>(jsonString);
Clients.removeLead(json.Ref); // Remove lead from client hooking windows
// update lead gen
}
}
我对上述代码有疑问。
hooking
对 $.connection.hooking;
removeLead
hooking.removeLead
的位置
$.connection.hub.start();
?它从什么开始?它将在服务器端调用哪种方法?Submit
方法?如何将数据从客户端传递到服务器端。如果可能的话,请给我一个网址,以便为SignalR库做好准备。答案 0 :(得分:3)
只要您拨打hooking.removeLead
,就会调用Javascript函数Clients.removeLead()
。所有绑定都是动态完成的,在Javascript到C#之间以及C#和Javascript之间。
$.connection.hub.start()
实际上是连接功能。它会将您的客户端连接到服务器。在您这样做之前,不能发送或接收任何消息。 start
函数允许您定义在连接完成时调用的回调。
只要您在客户端进行Submit
调用,就会调用服务器上的hooking.submit(json)
方法。例如,由于用户填写某种形式并单击按钮。
我建议从SignalR官方维基开始:http://www.asp.net/signalr