2017-04-14 5 views
2

Wenn ich eine Nachricht an eine Service-Bus-Warteschlange senden und der Nachrichtentext eine benutzerdefinierte Klasse ist, können wir sie CustomerInfo nennen, wie verarbeite ich diese Nachricht und deserialize den Nachrichtentext Die Anwendung, die die Nachricht sendet, und die Anwendung, die die Nachrichten empfängt, haben keine gemeinsame Klasse namens CustomerInfo?Azure-Service-Bus Broker-Nachricht GetBody() Deserialisierung

Ich bin nicht auf der Suche nach dem Code, sondern eine Antwort, wie die verschiedenen Namespaces für die CustomerInfo-Klasse innerhalb jeder Anwendung adressiert werden. Wenn ich keinen übereinstimmenden Namespace in der CustomerInfo-Klasse mit der Namespace-Eigenschaft DataContract innerhalb jeder Anwendung angeben, wenn ich die Nachricht erhalte und versuche, den Nachrichtentext mithilfe von GetBody abzurufen, erhalte ich aufgrund der unterschiedlichen Namespaces einen Fehler. Geben Sie nur den gleichen Namespace für jedes DataContract-Attribut der Klasse an, um den richtigen Weg zu finden?

Antwort

2

Wenn Sie Ihre benutzerdefinierte Klasse in JSON serialisieren, ist dies kein Problem. Bei der Deserialisierung ist es wichtig, dass die Klasse, für die Sie deserialisieren, genau dieselben Eigenschaften wie die ursprüngliche Klasse aufweist, die serialisiert wurde. In der Tat könnten Sie ein .NET POCO serialisieren und in eine Java-Klasse deserialisieren, solange die Eigenschaften übereinstimmen.