Получение необработанного XML параметров в реализации службы WCF

Я настраиваю новую службу .NET 4.0 WCF с методом (операцией), который принимает в качестве параметров строго типизированные типы данных, сгенерированные XSD. Это делает вещи чистыми и аккуратными для клиента - клиент может работать со строгими типами и не думать об XML.

Однако при реализации службы WCF я бы предпочел работать с данными параметров как с XML-документами (LINQ XDocument), а не с десериализованными типами объектов. Приятно, что WCF десериализуется до явных типов, но для моего универсального алгоритма удобнее и гибче работать с документами xml, прежде всего потому, что входящие данные полиморфны.

Я знаю, что могу просто взять объекты параметров и сериализовать их обратно в XML, но это кажется расточительным.

Я понимаю, что, возможно, я мог бы заменить строго типизированные параметры на XElement, чтобы получить то, что мне нужно для удобства реализации, но это потеряет преимущества строгой типизации (проверки компилятора, intellisense, самостоятельная документация) для клиента.

Есть ли способ сообщить WCF, что в моей реализации службы мне не нужны десериализованные объекты параметров, что я хочу их вместо этого в формате XML?

Или есть способ получить доступ к необработанному XML-файлу параметров в том виде, в котором они были до десериализации их в объекты WCF? Если я не могу запретить WCF тратить время на десериализацию объектов, по крайней мере, это позволит избежать затрат на повторную сериализацию их обратно в XML.

5
задан dthorpe 14 August 2013 в 17:09
поделиться