J'ai donc deux applications séparées entre lesquelles je veux envoyer des messages. J'utilise NServiceBus, mais cela ne devrait pas vraiment avoir d'importance. Comment puis-je envoyer un message de l'application A à l'application B et les faire connaître au même contrat?Comment puis-je partager des classes de message entre applications lorsque vous utilisez NServiceBus?
Alors app A a une SecretMessage classe ...
public class SecretMessage : IMessage
{
public string Title { get; set; }
public string Body { get; set; }
}
Tel est l'objet qui sera publié en feuilleton et envoyé sur le fil à l'application B.
maintenant dans l'application B, comment puis-je écouter les messages qui sont de ce type et ensuite être en mesure de les désériver en série à la même classe? Je peux donc utiliser les données telles qu'elles ont été envoyées, sans que cela ne soit un cauchemar de maintenance.
L'application B doit-elle simplement avoir une copie de la classe? Est-ce que ceci devrait être traité par une DLL partagée de classes de message auxquelles chaque application fait référence (j'espère que non)? Devraient-ils être recréés dans chaque application en tant que DTO complètement séparés avec les mêmes propriétés?
Ai-je raté quelque chose ici?
Nice post. Est la principale différence entre # 1 et # 2 juste où les classes vivent? Dans # 1 c'est dans une DLL qui est distribuée parmi les projets où dans # 2 les classes font partie du projet consommateur lui-même? –
Droite: la génération de code s'effectue généralement en dehors du projet et les résultats sont importés ou dans le projet en tant qu'élément de construction. – stephbu