2010-12-13 7 views
3

J'essaye d'appeler Bus.Publish pour publier un message, mais je ne peux pas dire ce qui ne va pas, car l'exception de NSB est juste qu'il y a un argument nul.NServiceBus: "ArgumentNullException" est levée par NServiceBus

Voici la trace de la pile:

System.ArgumentNullException: Value cannot be null. 
Parameter name: key 
    at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) 
    at System.Collections.Generic.Dictionary`2.FindEntry(TKey key) 
    at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value) 
    at NServiceBus.Serializers.XML.MessageSerializer.WriteObject(String name, Type type, Object value, StringBuilder builder) 
    at NServiceBus.Serializers.XML.MessageSerializer.Serialize(IMessage[] messages, Stream stream) 
    at NServiceBus.Unicast.Transport.Msmq.MsmqTransport.Send(TransportMessage m, String destination) 
    at NServiceBus.Unicast.UnicastBus.SendMessage(IEnumerable`1 destinations, String correlationId, MessageIntentEnum messageIntent, IMessage[] messages) 
    at NServiceBus.Unicast.UnicastBus.Publish[T](T[] messages) 

Quelqu'un peut-il aider?

+0

Quelque chose ne va pas avec le message que vous publiez. Pouvez-vous poster votre classe/interface de message ici? –

Répondre

5

J'ai trouvé la réponse. Apparemment, il est illégal dans NServiceBus d'utiliser un type de message qui n'est pas déclaré dans un espace de noms. Ne me demandez pas pourquoi, mais le code hérité contenant le type que je voulais publier n'a pas déclaré le type dans un espace de noms, j'ai donc dû créer un nouveau type pour le faire fonctionner.

+0

Content que tu l'aies trouvé! Si vous pouviez signaler cela à notre liste de problèmes sur github, ce serait très apprécié! –

Questions connexes