相关疑难解决方法(0)

RabbitMQ C#驱动程序停止接收消息

您是否有任何指示如何确定订阅问题何时发生,以便重新连接?

我的服务使用RabbitMQ.Client.MessagePatterns.Subscription进行订阅.一段时间后,我的客户端默默地停止接收消息.我怀疑网络问题,因为我的VPN连接不是最可靠的.

我已经通过文档阅读了一段时间,寻找一个关键,以找出这个订阅何时可能由于网络问题而没有太多运气而被打破.我已经尝试检查连接和通道是否仍然打开,但似乎总是报告它仍处于打开状态.

它确实处理的消息工作得很好,并被确认回队列,所以我不认为这是"ack"的问题.

我确信我一定只是错过了一些简单的东西,但我还没有找到它.

public void Run(string brokerUri, Action<byte[]> handler)
{
    log.Debug("Connecting to broker: {0}".Fill(brokerUri));
    ConnectionFactory factory = new ConnectionFactory { Uri = brokerUri };

    using (IConnection connection = factory.CreateConnection())
    {
        using (IModel channel = connection.CreateModel())
        {
            channel.QueueDeclare(queueName, true, false, false, null);

            using (Subscription subscription = new Subscription(channel, queueName, false))
            {
                while (!Cancelled)
                {
                    BasicDeliverEventArgs args;

                    if (!channel.IsOpen)
                    {
                        log.Error("The channel is no longer open, but we are still trying to process messages.");
                        throw new InvalidOperationException("Channel is closed.");
                    } …
Run Code Online (Sandbox Code Playgroud)

c# rabbitmq

30
推荐指数
1
解决办法
1万
查看次数

.NET中的RabbitMQ订阅者通知

我们现在正在使用MSMQ和WCF激活功能,它使我们不会拉队列来读取消息.它像推送消息到应用程序.

我们正在考虑从MSMQ移植到RabbitMQ,从而通过消息队列完成我们所需的操作.

关于RabbitMQ .net客户端支持从订阅队列接收消息通知,我无能为力?

在带有.net的RabbitMQ中有什么可以像MSMQ那样向用户发送推送通知吗?

或者我们需要不断检查消息的服务运行?

rabbitmq

8
推荐指数
2
解决办法
4076
查看次数

如何在RabbitMQ上进行非阻塞?

我是RabbitMQ的新手.我刚开始昨天.我发送和消费的东西很少见.我注意到的是他们的文档,甚至我读过的文章中的大多数都正在实现订阅部分,他们正在循环它以从队列中获取消息.我怎样才能使它成为事件驱动的?我想要完成的是当一个消息被发送到一个队列时,它将向接收者发出事件并对它做一些事情.也许就像显示消息一样.

非常感谢您的回复.

最好的祝福,

.net c# wcf rabbitmq

7
推荐指数
2
解决办法
6386
查看次数

标签 统计

rabbitmq ×3

c# ×2

.net ×1

wcf ×1