C# 如何运行两个功能信号集线器?

C# 如何运行两个功能信号集线器?,c#,jquery,asp.net,signalr,signalr-hub,C#,Jquery,Asp.net,Signalr,Signalr Hub,我目前有一个消息页面,显示发送给用户的所有新消息。这些消息与NewMessageCount一起存储在数据库中。如果用户有一条新消息,则在从NewMessagecount中选择的消息旁边会显示一个小通知。我使用信号器来实现这一点,我对信号器非常陌生,所以如果我犯了一个明显的错误,请原谅 我在Hub中有两个函数,它们可以很好地工作,因为它们过滤和更新正确的字段。然而,我的问题是,我似乎无法让这两个函数在消息页面上一个接一个地运行。当用户单击message选项卡时,我想要notifications.s

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

我在
Hub
中有两个函数,它们可以很好地工作,因为它们过滤和更新正确的字段。然而,我的问题是,我似乎无法让这两个函数在消息页面上一个接一个地运行。当用户单击message选项卡时,我想要
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>

$(函数(){
var通知=$.connection.notificationHub;
notifications.client.recieveNotification=函数(totalNewMessages){
$('#NewMessages').text(totalNewMessages);
};
notifications.client.removeNotification=函数(totalNewMessages){
$('.Message')。单击(函数(){
$('#NewMessages').text(totalNewMessages);
});
};
//启动连接。
$.connection.hub.start(函数(){
notifications.server.sendNotifications();
notifications.server.removeNotification();//这是我想要在click事件上运行的,但不知道如何运行
}).失败(功能(e){
警报(e);
});
});           

提前感谢

在@IlyaLuzyanin comment的帮助下,我通过在
中心添加
单击
处理程序来解决问题。开始

$.connection.hub.start(function () {
            notifications.server.sendNotifications();
            $('.removemessage').click(function () {
                notifications.server.removeNotifications();
            })
        });

现在还不清楚您想要实现什么,但作为一个附带通知-将您的
单击
处理程序移出
removeNotification
回调-现在它会在每次
客户端调用时为click事件添加一个新的回调。removeNotification
被调用,我猜这不是您想要的。@Ilyluzyanin抱歉,如果我没有说清楚的话。与此类似,当一条评论显示在顶部,当用户点击它时,它就会消失。这正是我试图实现的。单击
中心中的
处理程序。启动
回调,如下所示:
$('.Message')。单击(函数(){notifications.server.removeNotification();}
$('#NewMessages')).text
将在
客户端.recieveNotification
回调中更新,与当前一样。这是您想要的吗?您正在服务器上调用removeNotifications,它可能不存在。这是不对的。您需要注册一次click处理程序,它与SignalR无关。因此,请将其移出
$.connection.hub.start
block.@IlyaLuzyanin谢谢,这为我澄清了一切,非常感谢。