6

tarafından serileştirilemiyor Bir WCF hizmeti yazıyorum ve bazı özel yapılandırma öğelerini (ör. Özel Yapılandırma Yapılandırması ve Bağlantı Stringi Ayarları) açıklamak istiyorum, böylece hizmetin yapılandırmasını değiştirebilirim..NET taban türü WCF

Özel yapılandırma öğelerimden biri System.Configuration.ConfigurationElementCollection öğesinden devralınır. WCF hizmetimi başlatmaya çalıştığımda, aşağıdaki hata iletisini alıyorum ...

'System.Configuration.ConfigurationElementCollection' yazın, serileştirilemez. DataContractAttribute özniteliğiyle işaretlemeyi ve DataMemberAttribute özniteliği ile serileştirilmesini istediğiniz tüm üyelerini işaretlemeyi düşünün.

Bu Tür için DataContract uygulamasını gerçekleştirmenin bir yolu var mı? [DataContract] özelliği ile işaretlenmiş kalıtım sınıfım var.

cevap

1

Tamam, nihayetinde çözümümüzü yeniden mimar etmek zorunda kaldım. En iyi SerializableConfigurationSection öğesini buldum. EnterpriseLibrary modellerinde ve uygulamalarında. Bu nedenle, WCF aracılığıyla Özel Yapılandırma Bölümlerimi iletmeye çalışmak yerine, el ile seralizasyon/serpme işlemini gerçekleştiririm ve WCF aracılığıyla yapılandırma bölümlerini bir dize olarak geçiririm.

4

Sadece bu sayıya bugün çarptı. Kafa karıştırıcıydı çünkü problem bir projeyi makineden makineye taşıyordu. Bu makale ilgili görünüyor: bağlantı rot durumunda Özetlemek gerekirse

http://blogs.msdn.com/youssefm/archive/2009/08/10/serializing-plain-old-clr-objects-poco-types-with-datacontractserializer.aspx

, konu çalışma zamanı 3,5 ortaya çıkabilir ve uzak çalışma zamanı 3.5 SP1 gitmek gibi görünüyor.

+0

Aynısını yaptım. POCO tiplerinin otomatik serileştirilmesi için 3.5 SP1'e ihtiyacınız var. –