在SignalR中声明对集线器代理的引用

时间:2015-08-02 14:39:09

标签: asp.net signalr signalr-hub

我想知道......

以下代码声明了对集线器代理的引用。

var chat = $.connection.chatHub;

以下代码也是:

var connection=$.hubConnection();
var hub=connection.createHubProxy("chatHub");
  1. 那两个宣言的区别是什么?
  2. 使用哪一个以及何时使用?

1 个答案:

答案 0 :(得分:3)

  

那么两个声明的区别是什么?

区别在于一个代码使用SignalR生成的代理,另一个代码不使用。

您生成的代理代码默认为http://yourapplicationURL/signalr/hubs。您可以在那里阅读生成的代理代码。

您可以在此处详细了解:http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client#establishconnection

网站上的示例: 使用生成的代理:

var contosoChatHubProxy = $.connection.contosoChatHub;

找不到生成的代理:

var connection = $.hubConnection();
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');

(此代码实际上包含在生成的代理中,用于创建引用集线器的快捷方式)

  

使用哪一个以及何时使用?

您可以选择不生成代理代码。在这种情况下,只有第二种选择可行。在其他情况下,它们执行相同的代码,第一个选项更优雅。取决于您的选择。