Удалить элементы схемы из WSDL, созданного WCF

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

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

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

Спасибо Мофоло

1 ответ

Решение

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

Другие вопросы по тегам