static void Main(string[] args) { var host = Environment.GetEnvironmentVariable("host") ?? "localhost"; Console.WriteLine(host); EftContext context = new EftContext(); var factory = new ConnectionFactory() { HostName = host, UserName = "******", Password = "******" }; using (IConnection connection = factory.CreateConnection()) using (IModel channel = connection.CreateModel()) { //TODO: Received methoduyla gelen dataları yakalayıp işlem yapacağımız için EventingBasicConsumer classından nesne alıyoruz. var consumer = new EventingBasicConsumer(channel); //TODO: Yeni data geldiğinde bu event otomatik tetikleniyor. consumer.Received += (model, ea) => { var body = ea.Body; //TODO: Kuyruktaki içerik bilgisi. var message = Encoding.UTF8.GetString(body); //TODO: Gelen bodyi stringe çeviriyoruz. SendingEftModel sendingEftModel = JsonConvert.DeserializeObject <SendingEftModel>(message); //TODO: Mesajdan dönen veriyi classa çeviriyoruz. context.Send(sendingEftModel); //TODO: Contextimize gönderip Database.json dosyamıza kaydedilmesini sağlıyoruz. Console.WriteLine($" {sendingEftModel.FromId} - {sendingEftModel.Money}₺ --> {sendingEftModel.ToId}"); }; channel.BasicConsume(queue: "Eft", //TODO: Consume edilecek kuyruk ismi autoAck: true, //TODO: Kuyruk ismi doğrulansın mı consumer: consumer); //TODO: Hangi consumer kullanılacak. Console.WriteLine("Eft kuyruğuna bağlantı başarılı. Dinleniyor..."); Console.ReadLine(); } }
static void Main(string[] args) { EftContext context = new EftContext(); var factory = new ConnectionFactory() { HostName = "localhost", UserName = "******", Password = "******" }; using (IConnection connection = factory.CreateConnection()) using (IModel channel = connection.CreateModel()) { var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); SendingEftModel sendingEftModel = JsonConvert.DeserializeObject <SendingEftModel>(message); context.Send(sendingEftModel); Console.WriteLine($" {sendingEftModel.FromId} - {sendingEftModel.Money}₺ --> {sendingEftModel.ToId}"); }; channel.BasicConsume(queue: "Eft", autoAck: true, consumer: consumer); Console.WriteLine("Eft kuyruğuna bağlantı başarılı. Dinleniyor..."); Console.ReadKey(); } }