Итак, у меня есть два отдельных приложения, между которыми я хочу отправлять сообщения. Я использую NServiceBus, но это не должно иметь большого значения. Как отправить сообщение из приложения A в приложение B, чтобы они оба знали об одном и том же контракте?
Итак, приложение A имеет класс SecretMessage ...
public class SecretMessage : IMessage
{
public string Title { get; set; }
public string Body { get; set; }
}
Это объект, который будет сериализован и отправлен по проводам в приложение B.
Теперь, в приложении B, как мне прослушивать сообщения такого типа, а затем иметь возможность десериализовать их в одном классе? Таким образом, я могу использовать данные в том виде, в котором они были отправлены, и это не кошмар обслуживания.
Должно ли приложение B просто иметь копию класса? Должно ли это быть обработано с помощью общих dll классов сообщений, на которые ссылается каждое приложение (надеюсь, нет)? Должны ли они быть воссозданы в каждом приложении как полностью отдельные DTO с одинаковыми свойствами?
Я что-то здесь упускаю?