Veri sözleşmesi sınıfı için bir ContractInvariantMethod
yazdım ve her şey istemci tarafında harika çalışıyor, ancak bu tür bir nesne benim hizmetime gönderildiğinde ve Veri Sözleşme Desperizleyicisi onu seri hale getirmeye çalıştığında, kod denetimi denetleniyor yol ve değişmez başarısız diyerek ContractException
atar. Bunun nedeni, sınıfın (varsayılan) yapıcısında, değişmezi karşılayacak özellikleri ayarladım, ancak nesne seri hale getirildiğinde yapıcının çağrılmadığı anlaşılıyor. bunun için bir çözüm var mı?Kod sözleşmeleri, veri sözleşmelerinin serileştirilmesiyle nasıl çalışır?
burada verilerim sözleşme sınıftır:
[DataContract]
public class DataContractClass
{
public DataContractClass()
{
this.Field1= this.Field2= -1;
}
[DataMember]
public int Field1 {get; set;}
[DataMember]
public int Field2 {get; set;}
[ContractInvariantMethod]
private void Invariants()
{
Contract.Invariant(this.Field1== -1 || this.Field2== -1);
}
}
Eğer bize kodu örneği göstermek edebiliyoruz? Yardımcı olabilir. –
Kodu dahil etmek için soruyu değiştirdim. – Arash