【问题标题】:SignalR and Angular in ASP.NET, client dosen't get responseASP.NET 中的 SignalR 和 Angular,客户端没有得到响应
【发布时间】: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


    【解决方案1】:

    你应该改变

    ordersHub.server.newOrder($scope.message, 1);
    

    ordersHub.server.newOrder("someGroup", $scope.message);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      相关资源
      最近更新 更多