【发布时间】:2018-05-09 17:23:43
【问题描述】:
我尝试在角度控制器中添加 SignalR,但它对我不起作用。这是我的角度代码:
var app;
function () {
app = angular.module('app', []);
app.value('ordersHub', $.connection.ordersHub)
$.connection.hub.start();
app.controller('sendMessage', function ($scope, ordersHub) {
$scope.messages = [];
console.log(ordersHub.client)
ordersHub.client.addNewOrder = function hubMethodInvoked(data) {
console.log('get response in client');
$scope.messages.push(data);
};
$scope.sendMessage = function () {
$scope.messages.push($scope.message)
ordersHub.server.joinGroup("someGroup");
ordersHub.server.newOrder($scope.message, 1);
}
});
})();
来自 ASP.NET 中集线器控制器的代码:
public class OrdersHub : Hub
{
public void NewOrder(string groupName, string message)
{
Clients.Group(groupName).addNewOrder(message);
}
public void JoinGroup(string groupName)
{
Groups.Add(Context.ConnectionId, groupName);
}
}
角度控制器的“sendMessage”方法工作正常并向 ASP.NET 控制器发送请求,主要问题是客户端没有从服务器获得响应,请查看 ordersHub.client.addNewOrder角度。
提前感谢您的回复。
【问题讨论】:
标签: javascript c# asp.net angularjs