2011-10-16 6 views
1

J'espère que ce n'est pas une question idiote ... mon cerveau est tellement plein de nouvelles choses que ça fait mal. J'essaie de mieux connaître NServiceBus.NServiceBus Messages et Encapsulation

Mes classes de messages ressemblent à ceci:

public class Address // value object 
    { 
     public readonly string AddressLine1; 
     public readonly string AddressLine2; 
     public readonly string AddressLine3; 
     public readonly string City; 
     public readonly string Country; 
     public readonly string PostCode; 

     public Address(string addressLine1, 
         string addressLine2, 
         string addressLine3, 
         string city, 
         string country, 
         string postCode) 
     { 
      AddressLine1 = addressLine1; 
      AddressLine2 = addressLine2; 
      AddressLine3 = addressLine3; 
      City = city; 
      Country = country; 
      PostCode = postCode; 
     } 
    } 

Le problème est NServiceBus sérialiseur ne peut pas traiter avec elle (compréhensible) et je finis par avoir à revenir aux propriétés auto. Je peux vivre avec pour cet exercice d'apprentissage ... mais est-il un moyen d'utiliser la classe de message ci-dessus?

Je pensais que je demanderais au lieu de fouiller dans le code source NServiceBus. Merci!

Répondre

1

Je suis assez sûr que cela fonctionnera si vous exposer get/private set propriétés plutôt que des champs.

+0

Merci Udi, je vais y jeter un coup d'œil - il est préférable d'inclure le Json Serializer à ce stade. Je vais upvote une fois confirmé. Cadre génial au fait! – 6footunder

+0

Confirmé. Udi est correct (comme je suppose qu'il serait!). Merci! – 6footunder

2

Je n'ai pas utilisé NSB depuis un certain temps, mais je me souviens qu'il y avait un contrib module qui contient un JsonSerializer basé sur la bibliothèque Newtonsoft Json.NET.

La bibliothèque json.net prend en charge la (dé) sérialisation d'objets tels que celui que vous décrivez. Vous pouvez trouver plus de détails sur ce qui est pris en charge par les bibliothèques de sérialisation here.

+0

Je vais regarder dans les sérialiseurs Json (Raven/Newtonsoft) car ils sont déjà dans le projet. Merci. – 6footunder

+0

#lulian - hey J'ai déplacé la réponse à #Udi ci-dessous car il semble "plus correct" je suppose que c'est vu cuit dans le cadre. J'espère que c'est ok. – 6footunder

+0

Quand on parle de NSB, faites toujours confiance à Udi :) –

Questions connexes