2012-10-23 22 views
5

Mam pojedynczy punkt końcowy, który obsługuje wiadomości przychodzące (od Bus.Send), działa, a następnie publikuje inną wiadomość. Czy można go skonfigurować do deserializacji wiadomości przychodzących za pomocą serializatora Json, ale podczas publikowania serializowania wychodzącej wiadomości za pomocą serializatora Xml?Czy punkt końcowy NServiceBus może obsługiwać i publikować za pomocą różnych serializerów?

Mój config obecnie wygląda, poniżej którego używa serializatora JSON zarówno deserializacji przychodzących i identyfikatorów seryjnych wiadomości wychodzących:

 Configure.With() 
      .DefaultBuilder() 
      .JsonSerializer() 
      .MsmqTransport() 
      .IsTransactional(true) 
      .PurgeOnStartup(false) 
      .UnicastBus() 
+0

Nie mam wbudowanego wsparcia, o którym jestem świadomy. Dlaczego chcesz to zrobić? – eulerfx

+0

Dlaczego chcesz to zrobić? A co powiesz na to, że odbierzesz wiadomości z Json skądś, ale twoi subskrybenci chcą XML? Ale nie możesz dać im xml, ponieważ twoja "wiadomość" została odebrana w jsonie? To trochę śmieci. –

Odpowiedz

4

UPDATE

Podstawowe wsparcie dla tego scenariusza dodano wersji 5 NServiceBus i został znacznie bardziej kompletny w wersji 6.

Oto kilka dodatkowych informacji na ten temat:

https://particular.net/blog/build-a-babel-fish-nservicebus

OLD ODPOWIEDŹ: To jest coś, co my w zespole NServiceBus zostały myślenia o jakiegoś czasu. Sensownym jest używanie jednego formatu serializacji w jednym systemie i tworzenie komunikacji pub/sub z innymi systemami przy użyciu innego formatu serializacji.

Obawiam się, że nie udało nam się go jeszcze wdrożyć, więc obecnie utknąłeś z wyborem tylko jednego.