Включить методы расширения в сгенерированный файл прокси - PullRequest
2 голосов
/ 24 января 2012

У нас есть две сборки, DataContracts и Core.В настоящее время мы используем svcutil для генерации наших DataContracts, ссылаясь на Core.У нас есть пара методов расширения для различных типов перечислений, которые были бы полезны на стороне клиента.

Есть ли способ заставить svcutil включить эти методы расширения в наш сгенерированный файл прокси?

Ответы [ 2 ]

1 голос
/ 24 января 2012

Любые методы, которые вы хотите раскрыть, должны быть в рамках операционного контракта .Я не знаю другого способа предоставления метаданных в WSDL, не узнав больше о том, как WSDLImporter работает .Независимо от этого - метаданные - это только контракты - вы не можете делиться операциями / поведением в своих метаданных.Единственный способ поделиться поведением методов ( ваши расширения ) - включить их в общий контракт / сборку ядра или представить их в качестве операционных контрактов.

0 голосов
/ 03 июля 2012

Классы, сгенерированные svcutil, являются частичными. Поэтому функциональность этих классов может быть разделена на несколько файлов. Один файл - это файл, сгенерированный svcutil с функциональностью, предоставляемой сервисом. Другие файлы могут содержать функциональность, которую вы хотите добавить, , которая не является частью контракта на данные .

Дополнительная информация о частичных классах Частичные классы и методы (Руководство по программированию в C #) на MSDN

...