当前位置:  开发笔记 > 编程语言 > 正文

SignalR如何保留从服务器到客户端的消息顺序

如何解决《SignalR如何保留从服务器到客户端的消息顺序》经验,为你挑选了1个好方法。

我有一个问题,当我从服务器向客户端发送消息时,他们没有按原始顺序到达客户端.我在这里有一个测试功能:

public async Task Hello(string group)
    {
        await Groups.Add(Context.ConnectionId, group);
        await Clients.Group("grp1").Hello("grp1");
        await Clients.Group("grp2").Hello("grp2");
        await Clients.All.Hello("all");
    }

在客户端:

var chanceHub = $.connection.chanceHub;
chanceHub.client.Hello = function (message) {
    alert(message);
}
$.connection.hub.start().done(function () {
    chanceHub.server.hello("grp1");
});

我希望按此顺序获得2个警报:"grp1"然后"all"但我总是首先得到消息"all".有什么方法可以解决这个问题吗?



1> Espen Burud..:

对于这个问题,这是一个未解决的问题#3310.该问题还描述了一个解决方法问题#3310


这个问题建议添加"等待"以使事情有效.OPs代码已经包含`await`.
推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有