Подтвердить что ты не робот

Код WCF DataContract DataMember?

Является ли xml, созданный из вашего DataContract, созданным в алфавитном порядке. У меня есть класс DataContract, который определяется как:

[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; }

}

Когда я сделал следующий POST:

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

Когда я сделал GET после моего сообщения и вернул результат как JSON, email был пустым, но если бы я POST мой xml как:

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

Электронная почта больше не является нулевой, когда я делаю GET и возвращаю ее как JSON. Почему он это делает?

4b9b3361

Ответ 1

украсить его параметром Заказ в классе DataMemberAttribute:

[DataMember(Order = index)]

Отражатель в сериализаторе помещает его в алфавитном порядке. Если это не оформлено так:

[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; }

Подробнее...