2015-12-01 76 views
0

我有一個使用Visual Basic代碼(下面)的WCF服務,我需要getAdministrationData()返回的表,並且Newtonsoft序列化程序爲我提供了我所需要的,所以我只是不知道如何使該服務返回給我,而不是一個對象序列化兩次。WCF VB序列化兩次

<OperationContract()> _ 
<WebInvoke(Method:="POST", _ 
RequestFormat:=WebMessageFormat.Json, _ 
BodyStyle:=WebMessageBodyStyle.Wrapped, _ 
UriTemplate:="getAdministrationDataTree")> _ 
Public Function getAdministrationDataTree() As String 
    Dim myAdmManager As New AdministrationManager() 
    Dim model As DataSet = myAdmManager.getAdministrationData() 

    Dim json As String = JsonConvert.SerializeObject(model) 

    Return json 

End Function 

希望你們給我一些提示,對不起草率的英語。

回答

0

在你的接口類,你應該如下聲明定義: -

<OperationContract()> 
<WebGet(ResponseFormat:=WebMessageFormat.Json, BodyStyle:=WebMessageBodyStyle.Wrapped, UriTemplate:="getAdministrationDataTree")> 
Public Function getAdministrationDataTree() As AdminData 

您還需要定義一個數據契約象下面這樣: -

Class AdminData 

    <DataMember()> 
    Public Property AdminDataField1 as String 

    'Define any properties you need 

End Class 

然後在定義類中實現你的方法如下所示: -

Public Function getAdministrationDataTree() As AdminData 

    Dim myAdmManager As New AdministrationManager() 
    Dim model As DataSet = myAdmManager.getAdministrationData() 

    'Create an AdminData object and fill it with values you want to return 

    return AdminData 


End Function 

您將收到一個JSON對象。

如果您可以提供有關您的數據的更多細節,那麼我可以給你確切的代碼。