static void Main(string[] args) { string host = ConfigurationManager.AppSettings["Host"]; int port = int.Parse(ConfigurationManager.AppSettings["Port"]); string virtualhost = ConfigurationManager.AppSettings["VirtualHost"]; string username = ConfigurationManager.AppSettings["Username"]; string password = ConfigurationManager.AppSettings["Password"]; Client connection = new Client(); try { connection.Connect(host, port, virtualhost, username, password); IClientSession session = connection.CreateSession(50000); //--------- Main body of program -------------------------------------------- // Create a request queue for clients to use when making // requests. const string request_queue = "request"; // Use the name of the request queue as the routing key session.QueueDeclare(request_queue); session.ExchangeBind(request_queue, "amq.direct", request_queue); lock (session) { // Create a listener and subscribe it to the request_queue IMessageListener listener = new MessageListener(session); session.AttachMessageListener(listener, request_queue); session.MessageSubscribe(request_queue); // Receive messages until all messages are received Console.WriteLine("Waiting for requests"); Monitor.Wait(session); } //--------------------------------------------------------------------------- connection.Close(); } catch (Exception e) { Console.WriteLine("Error: \n" + e.StackTrace); } }
static void Main(string[] args) { string host = ConfigurationManager.AppSettings["Host"]; int port = int.Parse(ConfigurationManager.AppSettings["Port"]); string virtualhost = ConfigurationManager.AppSettings["VirtualHost"]; string username = ConfigurationManager.AppSettings["Username"]; string password = ConfigurationManager.AppSettings["Password"]; Client connection = new Client(); try { connection.Connect(host, port, virtualhost, username, password); IClientSession session = connection.CreateSession(50000); //--------- Main body of program -------------------------------------------- // Create a request queue for clients to use when making // requests. const string request_queue = "request"; // Use the name of the request queue as the routing key session.QueueDeclare(request_queue); session.ExchangeBind(request_queue, "amq.direct", request_queue); lock (session) { // Create a listener and subscribe it to the request_queue IMessageListener listener = new MessageListener(session); session.AttachMessageListener(listener, request_queue); session.MessageSubscribe(request_queue); // Receive messages until all messages are received Console.WriteLine("Waiting for requests"); Monitor.Wait(session); } //--------------------------------------------------------------------------- connection.Close(); } catch (Exception e) { Console.WriteLine("Error: \n" + e.StackTrace); } }