c# - 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)
解决方案
推荐阅读
- c++ - 尝试使用 clang++ v12 将两个 C++20 模块一起构建为一个模块
- docker - docker - 悬空(无)中间图像
- c# - 当用户没有在文本框中输入任何内容时,如何让代码使用不同的变量?
- graphql - 您如何定义 upsert(如果存在更新则插入)甚至使用 graphql 的更新?
- python - Apache Beam python fileio.WriteToFiles oversharding
- javascript - $.ajax() 不是一个函数,即使安装了普通的 jQuery
- uart - 初始化 Uart 引脚作为 PWM 输出
- record - Coq 中的记录子类型,请求的问题和参考资料
- python-3.x - selenium - python - 通过内部 HTML 查找元素
- python - 使用 SQLAlchemy 将 Flask WTForms 转换为 css 表单