我有一個反序列化webmethod,它返回webservice(asmx)中的數據列表,我從客戶端調用該方法。然而,該方法給了我一個數組,而不是一個列表。我明白,這是因爲SOAP響應返回XML格式(或類似的東西..)
是否有可能返回一個列表?如果有的話,請告訴我一個想法。
如果沒有,請教我一種替代方法。 (我不應該使用數組...)Webservice(asmx)返回數組,而不是列表
service.asmx.cs
[WebMethod]
public IList<Person> DeserializeJson(string value)
{
JavaScriptSerializer js = new JavaScriptSerializer();
IList<Person> tableData = js.Deserialize<IList<Person>>(value);
return tableData;
}
Client.aspx.cs(WebService的是我的服務引用)
WebService.Service1SoapClient client = new WebService.Service1SoapClient();
string stream = client.CreateJsonFromDatabase();
List<WebService.Person> tableData = client.DeserializeJson(stream);
ASMX是一項傳統技術,不應該用於新開發。 WCF應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 –
而不是使用ASMX,我應該遵循哪種類型的技術? MVC? – Adrian
WCF是ASMX的替代品(並且做得更多,更多)。 –