首页 > 解决方案 > WCF项目中的rabbitMQ返回错误,但它在同一台PC的同一个控制台项目中工作

问题描述

如您所见,我正在尝试从 wcf(4.5.2 .net framework) 项目发布消息:

public Int64 FindChargeByOrganization(string id)
        {
            var factory = new ConnectionFactory() { HostName = "localhost", UserName = "symfa", Password = "123qweQWE@" };
            using (var connection = factory.CreateConnection())
            using (var channel = connection.CreateModel())
            {
                channel.QueueDeclare(queue: "symfa_queue",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);

                string message = "Hello World!";
                var body = Encoding.UTF8.GetBytes(message);

                channel.BasicPublish(exchange: "",
                                     routingKey: "symfa_queue",
                                     basicProperties: null,
                                     body: body);
             
            }

            return 1;
        }

当我调用 URL 时,我得到了这个错误:

RabbitMQ.Client.Exceptions.BrokerUnreachableException: 'None of the specified endpoints were reachable'
IOException: connection.start was never received, likely due to a network timeout
This exception was originally thrown at this call stack:
    RabbitMQ.Client.Framing.Impl.Connection.StartAndTune()
    RabbitMQ.Client.Framing.Impl.Connection.Open(bool)
    RabbitMQ.Client.Framing.Impl.Connection.Connection(RabbitMQ.Client.IConnectionFactory, bool, RabbitMQ.Client.Impl.IFrameHandler, string)
    RabbitMQ.Client.Framing.Impl.AutorecoveringConnection.Init(RabbitMQ.Client.Impl.IFrameHandler)
    RabbitMQ.Client.Framing.Impl.AutorecoveringConnection.Init(RabbitMQ.Client.IEndpointResolver)
    RabbitMQ.Client.ConnectionFactory.CreateConnection(RabbitMQ.Client.IEndpointResolver, string)

在此处输入图像描述 但是当我使用带有网络框架 4.5.2 的控制台应用程序调用此代码时,它可以工作。

在此处输入图像描述

标签: c#rabbitmqconsole-application.net-framework-version

解决方案


推荐阅读