var factory = new ConnectionFactory
{
HostName = "myserver",
UserName = "testuser",
Password = "testuserpassword"
};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
channel.QueueDeclare(queue: "LOG",
durable: false,
exclusive: false,
autoDelete: false,
arguments: null);
string message = "Hello World!";
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish(exchange: "",
routingKey: "LOG",
basicProperties: null,
body: body);
Console.WriteLine(" [x] Sent {0}", message);
}
我在控制台应用程序中进行了测试,一切正常,我可以发送和接收消息。
如果我将上面的相同代码复制并粘贴到我的 WPF 应用程序中,则会在此处引发异常
connection = factory.CreateConnection()
异常
抛出异常: 'System.ArgumentException' in RabbitMQ.Client.dll
额外信息: 无法为myserver解析IP地址
如果我将"myserver"更改为服务器IP,我仍然会得到相同的错误。不理解为什么代码在一个应用程序中可以工作而在另一个应用程序中却不能。