我有一个Azure托管的Web应用程序,它与一些辅助角色的实例一起工作.目前,Web应用程序通过将消息放入Azure队列中以供工作人员接收,将工作传递给这些工作人员.工作人员通过将消息放入"反馈"队列来传递状态和进度消息.目前,为了通知我的浏览器客户端进度,我在浏览器中将基于ajax的定期轮询调用转换为MVC控制器方法,该方法依次读取Azure'反馈'队列并将这些消息作为json返回给浏览器.
显然,SignalR对于这种笨拙的轮询/排队方法看起来是一个非常有吸引力的替代方案,但是当我们讨论需要发送的多个工作者角色(而不是Web角色)时,我发现很少有关于如何执行此操作的指导个人或所有客户的身份.
该SignalR.WindowsAzureServiceBus 由克莱门斯vasters看起来极好,但留下一个有点高,干燥末即一个很好的例子,解决缺乏.
补充评论:从我的阅读到目前为止,似乎没有可能通过SignalR方法从工作者角色(而不是Web角色)到浏览器客户端的直接通信.工作人员似乎必须使用队列与Web角色进行通信.这反过来会强制轮询方法,即必须轮询来自工作者角色的消息的队列 - 这种轮询必须从它出现的浏览器中发起(从中驱动)(如何在Web角色中设置轮询循环?)
总之,即使使用 Clemens Vasters的SignalR.WindowsAzureServiceBus扩展方法,SignalR也无法处理从工作者角色到浏览器的直接通信.
任何来自专家的意见将不胜感激.
最近突然出现了一个问题,例如只需在pubspec.yaml中将“ dependency”包含在“ location”中,例如
dependencies:
flutter:
sdk: flutter
location: ^1.2.0 <------------------------ culprit
firebase_auth: ^0.5.10
cloud_firestore: ^0.7.2
the app crashes immediately upon startup.
Run Code Online (Sandbox Code Playgroud)
仅在示例应用程序中单独使用时,“ location”包本身即可工作。我目前尚未导入,即使用位置包中包含的任何功能,但是当我删除条目时,一切都很好。
不幸的是,从观看颤动日志中没有任何线索。