2017-01-03 77 views
3

因此,這裏是連接代碼。RabbitMQ CreateConneciton問題 - 在一個應用程序中工作,但不在另一個應用程序中

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); 
     } 

我在控制檯應用程序中測試這一切,一切工作正常,我可以發送和接收消息。在RabbitMQ的「System.ArgumentException」:

如果我然後複製並從上述同樣的代碼粘貼到我的WPF應用程序,我在這裏得到一個異常

connection = factory.CreateConnection() 

異常

拋出異常。 Client.dll

其它信息:沒有IP地址可以被解決的MYSERVER

如果我將「myserver」更改爲服務器ip,則會得到相同的錯誤。 不明白爲什麼代碼在一個應用程序中工作,而不是其他應用程序。

+0

什麼是您嘗試訪問的API URL?同時顯示CreateConnection()函數中的代碼。 –

+0

我沒有顯示代碼,因爲我不認爲它是相關的,代碼沒有得到那麼多。 API網址?我沒有線索。我正在使用這樣的教程,它沒有提到API網址。 https://www.rabbitmq.com/tutorials/tutorial-four-dotnet.html – Gaz83

+0

API URL是我們向MQ發佈消息的地方。我可以向您展示示例代碼以建立連接併發布消息,但不確定這是否會有所幫助。所以我想知道你是如何創建連接的。 –

回答

2

問題解決。它看起來像「例外」設置一樣簡單。出於某種原因,控制檯應用程序被設置爲不會中斷連接異常,並且WPF應用程序被設置爲中斷。現在一切正常。

奇怪的是,正在生成異常,特別是關於不解析服務器名稱或IP地址,但它仍然工作。

+0

很高興你找到它。 –

+0

你改變了什麼樣的異常設置?我遇到了同樣的問題 – John

相關問題