ASP.net веб-метод:
[WebMethod()]
public Data.Subtitle[] GetAll()
{
return Data.Subtitle.FindAll();
}
Вот класс Subtitle:
[ActiveRecord("Subtitle")]
public class Subtitle : ActiveRecordBase<Subtitle>
{
[PrimaryKey(PrimaryKeyType.Assigned)]
public int SubId {get;set;}
[Property()]
public int SubStreamId {get;set;}
[Property()]
public string SubTimeStart {get;set;}
[Property()]
public string SubTimeEnd {get;set;}
[Property()]
public string SubText {get;set;}
public Subtitle () { }
}
А вот возвращающийся XML:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfSubtitle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<Subtitle>
<SubId>862</SubId>
<SubStreamId>1</SubStreamId>
<SubTimeStart>00:01:04.4450000</SubTimeStart>
<SubTimeEnd>00:01:08.2450000</SubTimeEnd>
<SubText>Wikus van de Merwe
MNU Alien Affairs
</SubText>
</Subtitle>
<Subtitle>
<SubId>863</SubId>
<SubStreamId>1</SubStreamId>
<SubTimeStart>00:02:11.3430000</SubTimeStart>
<SubTimeEnd>00:02:14.8430000</SubTimeEnd>
<SubText>Sarah Livingstone
Sociologist, Kempton Park University
</SubText>
</Subtitle>
Мне нравится простота представления объектов данных в виде веб-сервиса с одной строкой кода, но я не могу получить массив сериальных объектов Subtitle
без префикса "ArrayOf". Мои поездки через Google указали мне на возможности WCF, которые недоступны в Mono, или на сериализацию вручную, которой я стараюсь избегать.
Есть ли простой способ представить массив объектов Subtitle как <Subtitles>
в Mono?