сгенерированные wcf классы и валидация атрибутов блока приложения - PullRequest
2 голосов
/ 22 апреля 2010

Я новичок в блоке валидации и пытаюсь использовать его с wcf ...

У меня есть служба wcf, в которой есть объекты данных с правилами проверки, определенными с атрибутами, с использованием блока приложения проверки .

На моей стороне клиента (WPF) у меня есть сервисная ссылка. Когда я обновляю ссылку на сервис, сгенерированные классы не содержат атрибутов правил валидации.

Как я могу получить правила от сервиса? Я пропустил какой-то шаг или это невозможно?

1 Ответ

3 голосов
/ 23 апреля 2010

Когда вы используете Add Service Reference, для службы создаются прокси-классы. Однако это не сохранит все ваши атрибуты проверки, а только создаст свойства, соответствующие метаданным службы. Чтобы сохранить правила валидации, вам нужно будет поделиться контрактами на обслуживание и передачу данных между WCF и WPF.

Для этого переместите все ваши контракты на обслуживание и данные в сборку. WCF и WPF должны ссылаться на эту сборку. Затем вы можете создать свой собственный прокси-класс, используя ClientBase или ChannelFactory .

Поскольку и WCF, и WPF ссылаются на одни и те же классы, аннотированные с помощью атрибутов VAB, вы можете вызвать проверку как в WCF, так и в WPF, используя Enterprise Library.

...