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 {
[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
Yorum Gönder