2010-09-28 25 views
20

DataContract'unuzdan oluşturulan xml, alfabetik sırada oluşturulur. Bir DataContract sınıf olarak tanımlamış:WCF DataContract DataMember siparişi?

[DataContract(Name = "User", Namespace = "")] 
public class User 
{ 
    [DataMember] 
    public string FirstName { get; set; } 
    [DataMember] 
    public string LastName { get; set; } 
    [DataMember] 
    public string Email { get; set; } 
    [DataMember] 
    public string Password { get; set; } 

} 

zaman yaptığım aşağıdaki POST: Postama sonra GET yaptı ve e-posta boş, ama eğer JSON olarak sonuç döndürdü

<User> 
    <FirstName>abc</FirstName> 
    <LastName>123</LastName> 
    <Email>[email protected]</Email> 
    <Password>pass</Password> 
</User> 

bir GET yapmak ve JSON olarak döndüğünüzde

<User> 
    <Email>[email protected]</Email> 
    <FirstName>abc</FirstName> 
    <LastName>123</LastName> 
    <Password>pass</Password> 
</User> 

Eposta artık null: olarak benim xml POST. Bunu neden yapıyor?

cevap

44

DataMemberAttribute sınıfında Sipariş Parametre ile süslemek: serileştiriciye içinde reflektör alfabetik koyar

[DataMember(Order = index)] 

. Bu gibi dekore zaman sürece :

[DataMember(Order = 0)] 
public string FirstName { get; set; } 
[DataMember(Order = 1)] 
public string LastName { get; set; } 
[DataMember(Order = 2)] 
public string Email { get; set; } 
[DataMember(Order = 3)] 
public string Password { get; set; } 

Read more here...

+0

Büyük! Teşekkürler. Bu çok ilginçti. – Xaisoft

İlgili konular