INotifyPropertyChanged в WCF DataContracts - PullRequest
6 голосов
/ 05 июля 2011

Я делаю некоторые сервисы WCF, и некоторые из них являются приложениями Prism.

Чтобы избежать необходимости копировать класс DataContract в класс на стороне клиента, они хотели бы, чтобы контракты поддерживали INotifyPropertyChanged.

Однако у меня есть клиенты, которые являются клиентами MVC3.

Будет ли добавление поддержки INotifyPropertyChanged к контрактам данных нарушать их?

Кроме того, я планирую, чтобы мои DataContracts также были моими объектами POCO из моего подключения к базе данных Entity Framework.INotifyPropertyChanged испортит это?

Или INotifyPropertyChanged - это просто WPF, а другим приложениям это не нужно?

Ответы [ 2 ]

9 голосов
/ 05 июля 2011

Или INotifyPropertyChanged - это просто WPF, а другим приложениям это не нужно?

INotifyPropertyChanged - это просто интерфейс, который вы можете реализовать на своих объектах, ничего не путая. Он используется в основном с WPF и Silverlight и не будет влиять на другие технологии, которые его не используют. Так что не должно быть никаких проблем с его реализацией в ваших контрактах на данные WCF. Хотя обратите внимание, что при создании строго типизированного клиентского прокси-сервера из этой службы WCF (с использованием svcutil.exe или Добавить ссылку на службу) полученные объекты не будут реализовывать этот интерфейс. Они будут POCO.

1 голос
/ 06 июля 2011

Другой вариант - использовать MVVM в приложениях WPF. DataContract будет Models (M), и разработчик приложения WPF должен будет создать ViewModel.

ViewModel должен реализовать INotifyPropertyChanged и загружать свои данные из модели.

...