如何运行signalR Hub两个功能?

时间:2014-09-02 15:02:29

标签: c# jquery asp.net signalr signalr-hub

我目前有一个消息页面,显示发送给用户的所有新消息。这些消息与NewMessageCount一起存储在数据库中。如果用户有一条新消息,则会从NewMessagecount中选择的消息旁边显示一条小通知。我正在使用SignalR实现这一目标,而且我对SignalR非常陌生,所以如果我犯了一个明显的错误,请原谅我。

我在Hub中有两个功能正常,因为它们可以过滤和更新正确的字段。但是我的问题是我似乎无法在消息页面上一个接一个地运行这两个函数。我希望当用户点击消息标签时notifications.server.removeNotification();运行

   <script type="text/javascript">
    $(function () {

        var notifications = $.connection.notificationHub;

        notifications.client.recieveNotification = function (totalNewMessages) {

            $('#NewMessages').text(totalNewMessages);
        };
        notifications.client.removeNotification = function (totalNewMessages) {
            $('.Message').click(function () {
                $('#NewMessages').text(totalNewMessages);
            });
        };
        // Start the connection.
        $.connection.hub.start(function () {
            notifications.server.sendNotifications();
            notifications.server.removeNotification(); //This is what i want to run on the click event?? But don't know how to
        }).fail(function (e) {
            alert(e);
        });
});           
</script>

提前致谢

1 个答案:

答案 0 :(得分:0)

在@IlyaLuzyanin评论的帮助下,我设法通过在click

中添加hub.start处理程序来解决问题
$.connection.hub.start(function () {
            notifications.server.sendNotifications();
            $('.removemessage').click(function () {
                notifications.server.removeNotifications();
            })
        });