我對編碼.NET真的很陌生。我一直在嘗試創建一個休息Web服務。REST服務,使用ArrayOf前綴列表返回前綴
下面是代碼:
namespace RestService
{
[ServiceContract]
public class RestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "foo")]
List<Data> test()
{
OrderList ol = new OrderList();
List<Data> comments = new List<Data>();
comments.Add(new Data { Name = "sdf" });
comments.Add(new Data { Name = "sdf" });
ol.Order = comments;
return ol.Order;
}
[CollectionDataContract]
public class OrderList: List<Data>
{
[DataMember]
public List<Data> Order{ get; set; }
}
[DataContract(Name = "Data")]
public class Data
{
[DataMember]
public string Name;
}
}
}
這裏的輸出我得到
<ArrayOfData>
<Data>
<Name>sdf</Name>
</Data>
<Data>
<Name>sdf</Name>
</Data>
</ArrayOfData>
我以爲會得到被
<OrderList>
<Data>
<Name>sdf</Name>
</Data>
<Data>
<Name>sdf</Name>
</Data>
</OrderList>
希望有人能告訴我是什麼我丟了。
編輯: 如果我改變了代碼,所以我返回orderlist的OBJ而不僅僅是訂單捂臉
OrderList test()
{
OrderList ol = new OrderList();
List<Data> comments = new List<Data>();
comments.Add(new Data { Name = "sdf" });
comments.Add(new Data { Name = "sdf" });
ol.Order = comments;
return ol;
}
[CollectionDataContract (Name = "OrderList")]
public class OrderList: List<Data>
{
[DataMember]
public List<Data> Order{ get; set; }
}
它仍然沒有給我什麼,我會期望 它只是給了配有以下:
<OrderList/>
,並在列表中沒有的元素,幫助仍然appricated
我已經試過了,仍然得到同樣的輸出 –