javascript - ASP.NET 中的 SignalR 和 Angular,客户端没有得到响应

标签 javascript c# asp.net angularjs

我尝试在 Angular Controller 中添加 SignalR,但它对我不起作用。这是我的 Angular 代码:

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 中集线器 Controller 的代码:

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);
    }
}

Angular Controller 中的“sendMessage”方法工作正常并向 ASP.NET Controller 发送请求,主要问题是客户端没有从服务器获取响应,请查看 ordersHub.client.addNewOrder 中的 ordersHub.client.addNewOrder有 Angular 。

预先感谢您的回复。

最佳答案

你应该改变

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

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

关于javascript - ASP.NET 中的 SignalR 和 Angular,客户端没有得到响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47494552/

相关文章:

javascript - 如何使用 splice 交换数组中的数据

javascript - 检测触摸事件与点击事件的更好方法

javascript - 不允许加载本地资源错误

c# - 广播或发布/订阅以更新成千上万的用户

javascript - C# WebSocket - 握手期间客户端没有响应

c# - Windows Azure 存储的默认顺序是什么?

c# - 在服务器上读写excel文件

javascript - 如何从上面的嵌套函数返回?

c# - 在 ASP.NET MVC 中使用客户端证书进行 Active Directory 身份验证

.NET ServiceModel.Syndication - 更改 RSS 源的编码