SORU
8 EYLÜL 2012, CUMARTESİ


.NET WebAPİ k_BackingField Pislik Serileştirme

Şu: ben seri hale getirmek

[Serializable]
public class Error
{

    public string Status { get; set; }
    public string Message { get; set; }
    public string ErrorReferenceCode { get; set; }
    public List<FriendlyError> Errors { get; set; }
}

Bu iğrenç pisliği alıyorum:

<ErrorRootOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://schemas.datacontract.org/2004/07/Printmee.Api">
<_x003C_Errors_x003E_k__BackingField>
An exception has occurred. Please contact printmee support
</_x003C_Errors_x003E_k__BackingField>
<_x003C_LookupCode_x003E_k__BackingField>988232ec-6bc9-48f3-8116-7ff7c71302dd</_x003C_LookupCode_x003E_k__BackingField>
</ErrorRootOfstring>

Ne veriyor? Nasıl bu kadar güzel yapabilir miyim? JSON yanıtları da k_BackingField içerir

CEVAP
10 EYLÜL 2012, PAZARTESİ


Varsayılan olarak ne [Serializable] ne [DataContract] Web API ile çalışmak için kullanmaya gerek yok.

Sadece olduğu gibi modeliniz bırakın, ve Web API için tüm ortak özelliklerini seri hale getirmek.

Sadece olmasını istiyorsanız daha fazla denetim hakkında ne dahil, daha sonra süslemek sınıf [DataContract] ve özellikler için dahil [DataMember] (çünkü hem DC ve JSON.NET respsect bu öznitelikleri).

Eğer bir sebepten, gerek [Serializable] sınıf (yani seri hale getirilirken bir hafıza stream nedense, derin kopyalarını vs.), sonra da sana sahip olduğu için kullanımı her iki öznitelikleri birlikte önlemek desteğini alan adları:

[Serializable]
[DataContract]
public class Error
{
    [DataMember]
    public string Status { get; set; }
    [DataMember]
    public string Message { get; set; }
    [DataMember]
    public string ErrorReferenceCode { get; set; }
    [DataMember]
    public List<FriendlyError> Errors { get; set; }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006