Удалить элементы схемы из WSDL, созданного WCF - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть продукт Datacontract с парой камер данных, которые являются частью службы WCF. Я также сериализую и сохраняю этот продукт Datacontract в моем приложении, используя DataContractSerializer.

Теперь я хочу удалить некоторые из камер данных продукта Dacaccontract, когда генерируются метаданные службы (WSDL). Однако я хочу, чтобы все камеры данных из Контракта данных продукта были доступны при сериализации объекта в моем приложении.

На самом деле я хочу вот что: захватить процесс генерации WSDL и убрать необходимые камеры данных из списка инжектированных в WSDL.

Спасибо Mofolo

1 Ответ

2 голосов
/ 16 декабря 2011

Взлом WSDL, который не содержит информации, вам не поможет. Ваш сервис будет по-прежнему использовать полную сериализацию ваших типов при передаче их вашему клиенту и при десериализации их от ваших клиентов. Вместо взлома WSDL и WCF используйте DTO для службы WCF = новый набор типов, который будет содержать только те свойства, которые вы действительно хотите обменять с клиентами. Конвертируйте ваш мастер-объект в DTO и наоборот (вы можете создать свои собственные конвертеры или использовать некоторые фреймворки, например AutoMapper ) Это лучшая практика.

...