Non-Serilizable Hatası

Eğer kullandığımız (web)servislerde veya başka bir ihtiyaçtan bir class'ın serilize etmek isteyebilirsin. Bu yüzden ilgili class’ın attribute olarak [Serializable]deyip geçiyoruz. Eğer içerisinde class tipinde çok fazla property bulunduran bir entity’niz (yada benzeri bir entity-contract) varsa bu propertyi serileştiremediği için “blah...blah... is not marked as serializable” hatası atacaktır. (Hatanın oluşması ayrı bir yazının konusu. Burda kısaca geçtim.) Bu hatanın çözümü şöyledir: Örnek olarak "CRM" isimli bir class'ı aldım.

[NonSerialized()]
private Crm musteri;
[IgnoreDataMember] public Crm Musteri {

get { return musteri; }

set { musteri = value; }

}

 

Yapılması gereken property’i private tanımlayıp [NonSerialized()] işaretleyip sonra encapsule etmek.

Dertlerinize bir nebze derman olması dileğiyle...
Anahtar Kelimeler: NonSerialized, Serializable, serileştirme, serileştirememe hatası

Yorumlar(0)

Yorum Gönder