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

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • esnathesinger

    esnathesinge

    6 NİSAN 2009
  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009