2011-07-05 24 views
6

bazı WCF hizmetleri yapıyorum ve tüketicilerin bazı Prizma Uygulamalar vardır.INotifyPropertyChanged WCF DataContracts

DataContract sınıfını bir istemci taraf sınıfına kopyalamak zorunda kalmamak için, sözleşmelerin INotifyPropertyChanged öğesini desteklemesini isterler.

Ancak, MVC3 müşterileri bazı müşterimiz var.

karmaşa onları yukarı gidiyor veri sözleşmelerine INotifyPropertyChanged desteği ekleyerek mı?

Ayrıca, DataContracts öğesinin ayrıca benim Entity Framework db bağlantımdaki POCO nesneleri olmamı planlıyorum. INotifyPropertyBu karmaşayı mı değiştirecek?

Veya INotifyPropertyBir WPF bir şey değiştirdi ve diğer uygulamalar bununla ilgilenmeyecek mi?

cevap

9

Veya INotifyPropertyBir WPF bir şey değiştirdi ve diğer uygulamalar bunu umursamıyor mu?

INotifyPropertyChanged şey karıştırmasını olmadan varlıklara uygulayabileceği sadece bir arayüzdür. WPF ve Silverlight ile birincil kullanılır ve onu kullanmayan diğer teknolojiler üzerinde etkisi olmayacaktır. Dolayısıyla, WCF veri sözleşmelerinizde bunu uygulamakta herhangi bir sorun olmamalıdır. Eğer (svcutil.exe kullanarak ya veya Servis başvurusu Ekle) Bu WCF hizmetinden kesinlikle yazılı istemci proxy oluşturmak zaman not rağmen çıkan kişiler bu arabirim uygulamak olmaz. Onlar POCO'lar olacaklar.

+3

WCF ekleme ref ayarlarında ve svcutil.exe içinde INotifyPropertyChanged uygulayan sınıflar oluşturmanıza olanak veren bir seçenek olduğuna inanıyorum. Projeniz aracılığıyla "Hizmet başvurusu Ekle" seçeneği kullanırsanız – NathanAW

+3

Ayrıca, üretilen kodu otomatik DataContracts üzerinde 'INotifyPropertyChanged' arabirimini uygular. –

1

Başka bir seçenek WPF uygulamalarında MVVM kullanmaktır. DataContract Modeller (M) olacaktır ve WPF uygulamasının geliştiricisi ViewModel'i oluşturmak zorunda olacaktır.

ViewModel, INotifyPropertyChanged uygulamasını uygulamak zorundadır ve verilerini Model'den yükleyecektir.