Merhaba,
İlk bölümde kurulum ve string mesaj ile kuyruktan veri gönderimi ve alınmasını incelemiştik. Şimdi bir kaç değişiklik yaparak kuyruktan bir model (class) datası göndereceğiz;
Category modelimde name ve description isimli 2 attribute üm var, bir tane Fill isimli method açıyorum ve static olarak dolduruyorum, son olarak da bir instance almak için fonksiyonumuzu yazıyoruz.

Ana program tarafında ise modelimde bir örnek alıp, bunu doldurup elimdeki nesneyi byte a çeviriyoruz;

Bu convert işlemleri için de bir helpder class ı yazıyoruz ;
(https://www.codegrepper.com/code-examples/csharp/c%23+class+to+byte+array)

- Helper class üzerinde gelen objeyi byte a, byte gelen datayı da objeye çeviren method ile buradaki kodlara ek olarak helper ın generic olması için bir method daha yazıyoruz, gelen tip ne ise o tipte dönüş yaptırıyoruz;
Sender tarafında bu değişiklikleri yaptık, şimdi Receiver tarafındaki değişikliklere bakalım;
Category ve Helper class larını olduğu gibi receiver a taşıyoruz;
Ana programda ise consumer dan alınan data içinden, generic tipte datamızı alıyoruz;

Sender uygulamamızı çalıştırdığımızda, rabbit mq sunucusunda modal kuyruğu ile datamın eklendiğini görüyorum, ready parametresinin 2 olmasının nedeni uygulamayı 2 kere başlatmamdan kaynaklı, aynı modal üzerinden 2 kere data göndermişim gibi görünüyor.

Receiver ı da çalıştırıyorum;

rabbit sunucusundan da kontrol ediyoruz;
Onun da okunmuş olduğunu görüyoruz…

Bu bölümde de kuyruk üzerinden model göndermeyi (byte a çevirerek) incelemiş olduk.
Github kodları için;