Можно ли включить класс DataContract в wsdl WCF, если этот класс не является частью какого-либо OperationContract? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть служба WCF с контрактом на работу с PostData.Этот метод принимает строку.Эта строка должна быть одним из 3 объектов, сериализированных.Я создал 2 класса для этих объектов и украсил их [DataContract] и [DataMembers].

Поскольку я не ссылаюсь на эти классы в контракте операции PostData, они не отображаются в WSDl.Хотелось бы, чтобы клиент мог создавать экземпляр одного из этих классов и затем передавать сериализованный объект в PostData.Это спасло бы меня от создания 3-х отдельных OperationContracts.

Возможно ли это?

Спасибо

1 Ответ

0 голосов
/ 23 октября 2018

Итак, что я решил здесь.

Есть 3 типа, которые клиент может сериализовать и передать одному веб-методу.Я предоставил эти 3 типа в общей DLL.Клиент создает объект одного из этих типов, сериализует и передает его веб-службе вместе с параметром Enum.Этот Enum позволяет веб-сервису десериализовать строку обратно к соответствующему типу и продолжить обработку.

Это уменьшает рабочую нагрузку на стороне веб-службы, поскольку вместо того, чтобы писать веб-метод для каждого типа, я могупросто требуется один метод.

Это может помочь кому-то еще, кто хочет решить аналогичную проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...