2011-03-10 2 views
0

J'essaie d'obtenir un simple NServiceBus pub/sub working. Voici ce que j'essaie de faire. J'essaie de lire un message de msmq, et pub publie les messages à sub, et le sous insère les messages dans la file d'attente de sub. (en ce moment, il y a tous sur le même ordinateur).pub/sub nservicebus débutant

J'ai un pub et un sous (il y a écrit comme applications de console). J'ai aussi une classe Message, et c'est ici.

[Serializable] 
public class Message : IEvent 
{ 
    public string name { get; set; } 

} 

public interface IEvent : IMessage 
{ 
    string name { get; set; } 

} 

Et, ceci est mon pub

  IBus bus = NServiceBus.Configure.With() 
      .DefaultBuilder() 
      .XmlSerializer() 
      .MsmqTransport() 
       .IsTransactional(true) 
       .PurgeOnStartup(false) 
      .UnicastBus() 
      .ImpersonateSender(false) 
      .MsmqSubscriptionStorage() 
      .CreateBus(). 
      Start(); 

sous semble même execpt qu'il a .LoadMessageHandlers().

Je comprends que vous devez gérer le message, où mettez-vous le Handle() sur le côté secondaire? Je veux les lire et les mettre dans la file d'attente des sous-marins.

Merci.

Répondre

0

L'éditeur gère la mise des messages dans la file d'attente de l'abonné. Pour gérer ces messages, vous devez implémenter l'interface IHandleMessages <T> sur une classe de votre abonné. NSB exécutera la méthode Handle sur cette classe lorsqu'un message de ce type s'affiche. Par exemple:

public class MyMessageHandler : IHandleMessages<Message>; 
{ 
    // do stuff here 
}