2011-07-05 17 views
6

Estoy haciendo algunos servicios de WCF, y algunos de los consumidores son aplicaciones de Prism.INotifyPropertyChanged en WCF DataContracts

Para evitar tener que copiar la clase DataContract a una clase del lado del cliente, les gustaría que los contratos sean compatibles con INotifyPropertyChanged.

Sin embargo, tengo algunos clientes que son clientes de MVC3.

¿Está agregando soporte INotifyPropertyChanged a los contratos de datos que van a estropearlos?

Además, estoy planeando que mis DataContracts también sean mis objetos POCO desde mi conexión de Entity Framework db. ¿INotifyPropertyChanged lo arruinará?

¿O es INotifyPropertyChanged solo una cosa de WPF y las otras aplicaciones no se preocupan por eso?

Respuesta

9

¿O es INotifyPropertyChanged solo una cosa de WPF y las otras aplicaciones no se preocupan por eso?

INotifyPropertyChanged es solo una interfaz que puede implementar en sus entidades sin ensuciar nada. Se usa de forma primaria con WPF y Silverlight y no tendrá efecto en otras tecnologías que no lo utilicen. Por lo tanto, no debería haber problemas para implementarlo en sus contratos de datos de WCF. Aunque tenga en cuenta que cuando genera un proxy de cliente fuertemente tipado desde este servicio WCF (ya sea mediante svcutil.exe o Add Service Reference) las entidades resultantes no implementarán esta interfaz. Ellos serán POCO.

+3

Creo que hay una opción en la configuración de agregar ref de WCF y en svcutil.exe que le permitirá generar clases que implementen INotifyPropertyChanged. – NathanAW

+3

Además, si usa la opción "Agregar referencia de servicio" a través de su proyecto, el código generado implementa automáticamente la interfaz 'INotifyPropertyChanged' en los DataContracts. –

1

Otra opción es usar MVVM en las aplicaciones de WPF. El DataContract será el Modelo (M) y el desarrollador de la aplicación WPF tendrá que crear ViewModel.

El ViewModel tiene que implementar INotifyPropertyChanged y cargará sus datos del Modelo.

Cuestiones relacionadas