1

我听说 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
  }
}

我对上述代码有疑问。

  • hookingins是什么意思$.connection.hooking;
  • removeLead在哪里hooking.removeLead
  • 这会做$.connection.hub.start();什么?它从什么开始?它将在服务器端调用哪个方法?
  • 谁以及如何Submit在服务器端调用方法?如何将数据从客户端传递到服务器端。如果可能的话,请给我一个 URL,以便为 SignalR 库提供良好的开端。
4

1 回答 1

3

只要您调用Javascript 函数hooking.removeLead就会被调用Clients.removeLead()。所有绑定都是动态完成的,在 Javascript 到 C# 之间以及 C# 和 Javascript 之间。

$.connection.hub.start()实际上是连接功能。它会将您的客户端连接到服务器。除非您这样做,否则无法发送或接收任何消息。该start函数允许您定义在连接完成时要调用的回调。

Submit每当您在客户端上进行调用时,都会调用服务器上的方法hooking.submit(json)。例如,由于用户填写了一些表格并单击了按钮。

我建议从 SignalR 官方 wiki 开始:http ://www.asp.net/signalr

于 2012-08-17T13:55:12.780 回答