2016-12-20 5 views
0

私はEasyNetQとRabbitMQを初めて使っています。残念ながら私はメッセージの消費に問題があり、私が間違った出版をしているか、消費が正しくないかどうかはわかりません。私は公開することによって見ることができます、それはキューに送信し、それを消費することは、キューからそれを取るものです。消費のためにEasyNetQは発行し、消費します

public void send(RegistrationCreatedEvent obj) 
{ 
    MessageBus.Publish(Exchange, RoutingKey, true, new Message<RegistrationCreatedEvent>(obj)); 
} 

コードスニペット::私は出版のためのIAdvancedBus

コードスニペットを使用していますS :

public void Receive() 
{ 
    MessageBus.Consume(Queue, (messageBody, properties, info) => Task.Factory.StartNew(() => 
    { 
    var stringMessage = Encoding.Default.GetString(messageBody); 

    json = JsonConvert.DeserializeObject<RegistrationCreatedEvent>(stringMessage); 
       Console.WriteLine($"Message Received: {json}"); 
    })); 
} 

答えて

0

をあなたは私たちにどのを教えてもらえメッセージが返されたときしかし、私はnullが取得します変数はnullですか? messageBodyがすでにnullの場合は、公開に問題がある可能性があります。次に、コンシューマを停止し、メッセージをキューに送り、管理プラグインを使用してメッセージを確認することをお勧めします。https://www.rabbitmq.com/management.html

メッセージをデシリアライズしたいので、組み込みのmessageSerializerあなた自身でそれをする代わりに。

0

この解決策は、私のモデルクラスプロパティをプライベートではなく公開することでした。

関連する問題