EasyNetQ升级到6.0.1或更高版本后无法连接RabbitMQ总线

问题描述 投票:0回答:1

将 EasyNetQ 升级到 6.0.1 或更高版本后,我在连接到 Rabbit 时遇到问题。

为了确保应用程序的任何其他部分不会产生这些问题,我做了一个最小的项目来测试它,并且我在那里遇到了同样的问题。

这是我的全部程序:

using EasyNetQ;
using RabbitMQ.Client;
using System;

namespace MinimalRabbitProject
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var connectionString = "host=localhost;username=test;password=test";

            using (var bus = RabbitHutch.CreateBus(connectionString))
            {
                Console.WriteLine("Connected to RabbitMQ");
            }
        }
    }
}

这似乎只是“默默地失败”。我没有收到任何错误/异常。但是bus.Advanced.IsConnected是假的,我在RabbitMQ管理中没有看到任何连接。

如果我将 EasyNetQ 降级到以前的版本(5.6.0),这可以正常工作,并且我可以在 RabbitMQ 管理中看到连接。

我尝试升级到最新版本(7.8.0),但这也不起作用。 5.6.0 是最后一个可用的版本。

从版本 6 的发行说明中,我看不到任何会影响创建连接的内容。我的代码也和他们的示例代码相同。

直接使用 RabbitMQ.Client 库也可以:

ConnectionFactory factory = new ConnectionFactory()
{
    UserName = "test",
    Password = "test",
    VirtualHost = "/",
    HostName = "localhost",
    Port = 5672
};
var connection = factory.CreateConnection();

有人对我如何让它发挥作用有任何建议吗?如果重要的话,我在本地使用 RabbitMQ 3.12.12 和 Erlang 25.3.2.8。我也尝试过不同的服务器,得到相同的结果(不确定版本,但与我的不同)

c# .net rabbitmq easynetq
1个回答
0
投票

如果使用,请尝试在使用“EasyNetQ”时升级此nuget:“System.Runtime.CompilerServices.Unsafe”。我知道这听起来很遥远,但我花了几个小时试图解开这个谜团,最终尝试一次升级一个 nuget。这个“System.Runtime.CompilerServices.Unsafe”nuget 成功了!

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.