Я недавно участвовал в разработке службы WCF, которая действует как своего рода многоадресная ретрансляция (т.е. принимает некоторые входящие данные, выполняет некоторую обработку и затем отправляет их нескольким другим внешним службам). этот сервис (который я буду называть «мой сервис») получает данные от второго внутреннего сервиса.
эти данные будут передаваться из моего сервиса как XML, содержащийся в строке. поэтому мой сервис может просто принять строку в качестве параметра для запроса метода - но это не идеально, поскольку мы теряем безопасность типов.
второй сервис имеет класс, который инкапсулирует всю информацию, которая требуется моему сервису для обработки и, в конечном итоге, ретранслируется на внешние сервисы.
второй сервис выставляет этот класс в своем контракте на данные. В идеале, чтобы поддерживать безопасность типов и не требовать большого количества изменений для реализации второй службы, я должен принять этот тип класса в качестве аргумента для моей операции службы.
что мне лучше всего сказать в моем контракте данных, что мне нужен класс такого типа без дублирования кода? Могу ли я добавить ссылку на службу для этого второго класса, а затем использовать прокси-класс, созданный в моем контракте на данные?
Я просто не могу обдумать это, хотя это кажется тривиальной проблемой!
ура за любую помощь!