У нас есть файл xsd, в котором уже определены контракты. Мы используем xsd.exe
для создания классов для нашей службы WCF и снова используем XmlSerializerFormat
для нашей веб-службы.
Мне кажется, что это странно, когда WCF генерирует новый XSD для классов, которые xsd.exe
сгенерировал для нас, в то время как у нас уже есть наше определение XSD, которое можно взять.
Хотя xsd.exe
отлично справляется с созданием классов, он также упрощает сложные типы, как вы можете видеть в моем предыдущий вопрос; это означает, что xsd на самом деле немного меняется, когда он генерирует классы и снова используется в веб-сервисе; проблема ArrayOfStringXXX..
Можем ли мы указать службе WCF использовать наш собственный файл xsd для своего контракта вместо создания нового контракта на основе того, что предоставляет xsd.exe?
Что я пробовал:
- Я уже рассматривал этот пример: пример интерфейса IWsdlExportExtension, который кажется многообещающим, но я не смог замените xsd в методе экспорта, потому что он никогда не вызывался.
TL;DR: Можем ли мы указать нашей службе WCF наш собственный файл xsd вместо того, чтобы позволять ему генерировать свой собственный?
Спасибо