В настоящее время я делаю следующее с ServiceStack, чтобы получить возможность отправлять некоторые XML на сервер:Отправка массива XML в стеке службы
<Server xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>Bob</UserName>
<UserGroups xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>History</d3p1:string>
<d3p1:string>Geography</d3p1:string>
</UserGroups>
</Server>
Вышеуказанные работы, однако, как я это делаю, как:
<Server xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>Bob</UserName>
<UserGroups>
<UserGroup>History</UserGroup>
<UserGroup>Geography</UserGroup>
</UserGroups>
</Server>
Я попытался:
[CollectionDataContract(ItemName = "UserGroup")]
public partial class ArrayOfStringUserGroup : List<string>
{
public ArrayOfStringUserGroup()
{
}
public ArrayOfStringUserGroup(IEnumerable<string> collection) : base(collection) { }
public ArrayOfStringUserGroup(params string[] args) : base(args) { }
}
и мой DTO в пост имеет следующее:
[DataMember(Name = "UserGroups", Order = 3)]
public ArrayOfStringUserGroup UserGroups { get; set; }
Но я получаю UserGroups как пустой массив UserGroupDto.
Благодарим вас за ответ. Однако я не понимаю, как это работает с сервисной программой? Я также отправлю json, не уверен, что выше будет работать. –