Создание общих классов передачи данных, сгенерированных svcutil / datacontractonly и используемых в модели веб-программирования WCF - PullRequest
0 голосов
/ 01 марта 2011

Я создаю набор веб-служб, которые совместно используют некоторые общие элементы данных, определенные в формате XML. Я хочу разделить эти объекты на общую схему, схему, специфичную для службы 1, схему, специфичную для службы 2 и т. Д. ... схемы, специфичные для службы, будут ссылаться на общую схему. я хотите использовать svcutil / datacontractonly для генерации классов, которые можно использовать для создания и сериализации этих объектов с использованием модели веб-программирования WCF. У меня проблема в том, что когда я импортирую общую схему в специфичные для сервисов схемы, классы сущностей общих схем включаются в код, сгенерированный для специфичных для сервисов классов. Это вызывает ошибки компиляции позже, когда один клиент пытается использовать сгенерированные классы сущностей для двух сервисов, которые обе используют сущности общей схемы. Есть ли способ заставить svcutil включать только объекты, специфичные для службы, в сгенерированный код? Я просто хотел бы иметь общую DLL, которая включает в себя объекты общей схемы, на которые могут ссылаться сервисы.

1 Ответ

0 голосов
/ 01 марта 2011

Я думаю, что это то, что вам нужно (в параметрах svcutil)

/ ссылка:

Типы ссылок в указанной сборке. При создании клиентов используйте этот параметр, чтобы указать сборки, которые могут содержать типы, представляющие импортируемые метаданные.

Вы не можете указать контракты сообщений и типы XmlSerializer, используя этот переключатель.

Если используется DateTimeOffset, этот тип используется вместо генерации нового типа. Если приложение написано с использованием .NET Framework 3.5, SvcUtil.exe автоматически ссылается на DateTimeOffset.

Сокращенная форма: / r

вот где я его нашел

...