2012-08-17 16 views
1

我听说SignalR是一个很好的消息传递库。我为SignalR获得了一些代码,但我无法理解它是如何工作的。如何使用SignalR通过Web在客户端和服务器之间传递消息

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;
  • removeLeadhooking.removeLead
  • 什么会做这$.connection.hub.start();?它是从什么开始的?它将在服务器端调用哪种方法?
  • 谁&如何在服务器端调用Submit方法?如何将数据从客户端传递到服务器端。如果可能的话,请给我一个用于SignalR库的良好开端的网址。

回答

3

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

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

无论何时在客户端上执行hooking.submit(json)调用,都会调用服务器上的Submit方法。例如,由于用户填写某种形式并点击一个按钮。

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

相关问题