我想知道......
以下代码声明了对集线器代理的引用。
var chat = $.connection.chatHub;
以下代码也是:
var connection=$.hubConnection();
var hub=connection.createHubProxy("chatHub");
答案 0 :(得分:3)
那么两个声明的区别是什么?
区别在于一个代码使用SignalR生成的代理,另一个代码不使用。
您生成的代理代码默认为http://yourapplicationURL/signalr/hubs。您可以在那里阅读生成的代理代码。
网站上的示例: 使用生成的代理:
var contosoChatHubProxy = $.connection.contosoChatHub;
找不到生成的代理:
var connection = $.hubConnection();
var contosoChatHubProxy = connection.createHubProxy('contosoChatHub');
(此代码实际上包含在生成的代理中,用于创建引用集线器的快捷方式)
使用哪一个以及何时使用?
您可以选择不生成代理代码。在这种情况下,只有第二种选择可行。在其他情况下,它们执行相同的代码,第一个选项更优雅。取决于您的选择。