我必须从webService将很多值返回给我的Windows应用程序。但是,如何从我的WebService向我的应用程序返回的不仅仅是单个字符串/ int / boolean。我如何返回一个集合,keyValuePair,甚至更好的DataSet?或者这只是不可能的?
谢谢你:)
答案 0 :(得分:2)
任何可序列化的类都可以从Web服务返回
答案 1 :(得分:1)
如果您的Web服务是用ASP.NET编写的,那么就像将Web服务的返回类型设置为更复杂的类型一样简单。支持大多数可序列化类型。
答案 2 :(得分:1)
我用于Web服务的最佳方法是将XML作为字符串返回。这种方式没有兼容性问题,解析XML很容易。
答案 3 :(得分:0)
与返回XML一样,如果您要返回javascript代码,您可能需要考虑将复杂类型返回为JSON中的序列化。
这是一个扩展方法,这使得这很容易......
<Extension()> Public Function ToJSON(Of T As Class)(ByVal target As T) As String
Dim serializer = New System.Runtime.Serialization.Json.DataContractJsonSerializer(GetType(T))
Using ms As MemoryStream = New MemoryStream()
serializer.WriteObject(ms, target)
ms.Flush()
Dim bytes As Byte() = ms.GetBuffer()
Dim json As String = Encoding.UTF8.GetString(bytes, 0, bytes.Length).Trim(Chr(0))
Return json
End Using
End Function
然后在您的数据服务中,您只需致电
Return MyObject.ToJSON