public void Receive() { while (Console.ReadKey(true).Key != ConsoleKey.Enter && Console.ReadKey(true).Key != ConsoleKey.Escape) { } var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "messaging_queue", durable: true, exclusive: false, autoDelete: false, arguments: null); channel.BasicQos(prefetchSize: 0, prefetchCount: 1, global: false); var authentication = new Couchbase.Authentication.PasswordAuthenticator("default", "password"); Cluster.Authenticate(authentication); using (var bucket = Cluster.OpenBucket("MessagingServer")) { var countResult = bucket.Query <dynamic>("SELECT COUNT(0) as `result` FROM `MessagingServer`"); counter = (int)(JsonConvert.DeserializeObject(countResult.Rows[0].ToString())).result; do { while (!Console.KeyAvailable) { var consumidor = new EventingBasicConsumer(channel); consumidor.Received += (model, e) => { var body = e.Body; var message = System.Text.Encoding.UTF8.GetString(body); Console.WriteLine(" Mensagem recebida: {0}", message); Work(message); channel.BasicAck(deliveryTag: e.DeliveryTag, multiple: false); }; channel.BasicConsume(queue: "messaging_queue", autoAck: false, consumer: consumidor); } } while (Console.ReadKey(true).Key != ConsoleKey.Escape); } } }
private void Work(string messageJson) { Data data = JsonConvert.DeserializeObject <Data>(messageJson); var authentication = new Couchbase.Authentication.PasswordAuthenticator("default", "password"); Cluster.Authenticate(authentication); using (var bucket = Cluster.OpenBucket("MessagingServer")) { bucket.Insert(counter.ToString(), data); counter++; } }
public void Init() { if (cache == null) { lock (syncObj) { var authenticator = new Couchbase.Authentication.PasswordAuthenticator( ConfigurationManager.AppSettings["CouchbaseUsername"], ConfigurationManager.AppSettings["CouchbasePassword"]); cluster.Authenticate(authenticator); cache = cluster.OpenBucket(ConfigurationManager.AppSettings["CouchbaseBucket"]); } } }