0

有谁知道如何在 C# 中启用 RabbitMQ 流控制?我试过这样的事情:

    channel = connection.CreateModel();
    channel.ChannelFlow(true);
    channel.FlowControl += new RabbitMQ.Client.Events.FlowControlEventHandler(channel_FlowControl);

基本上,我希望当 RabbitMQ 连接进入 FlowControl 模式时触发“channel_FlowControl”事件 - 但不知何故这不会发生。

任何人都知道我如何正确处理它?

提前致谢

4

1 回答 1

0

好吧,经过一番讨论,真的!!!来自 RabbitMQ 的好人,答案很简单。

你不能

C# 驱动程序中没有可用的回调,所以推荐的方法是使用一个小的内部异步预队列并将你的东西放在那里,一个异步线程读取该队列并将其发布给 rabbit。

这样,当兔子放慢速度并且您也需要放慢输入时,您会注意到,因为内部队列在增长,您可以检测到这种增长并采取相应的行动。

再次感谢 RabbitMQ 邮件列表中乐于助人的人们,即使这不是我想听到的那种回复;-)

于 2012-08-09T09:37:50.827 回答