为什么WCF服务没有在客户端返回相同的类列表?
大家都好,
以下是我在WCF服务的Iservice.vb文件中定义的类:
Hi all coders,
Below is my defined class in Iservice.vb file on WCF service :
<DataContract>
Public Class DenialDispute
<DataMember()>
Private _Age As Integer
<DataMember()>
Private _Flg As Integer
<DataMember()>
Private _PESysId As Integer
Public Sub New(Age As Integer, Flg As Integer, PESysId As Integer)
Me._Age = Age
Me._Flg = Flg
Me._PESysId = PESysId
End Sub
End Class
下面是返回已定义类列表的方法的操作合同:
Below is operation contract for method which is returning list of defined class :
<OperationContract()>
Function GetDenialDispute(ByVal storeProcedure As String, ByVal clientId As String, ByVal UserId As String, ByVal recStatus As String) As List(Of DenialDispute)
以下是Service1.svc.vb中的方法:
Below is method in Service1.svc.vb :
Public Function GetDenialDispute(ByVal storeProcedure As String, ByVal clientId As String, ByVal UserId As String, ByVal recStatus As String) As List(Of DenialDispute) Implements IService1.GetDenialDispute
Return cls.GetDenialDispute(storeProcedure, clientId, UserId, recStatus)
End Function
以下是我的功能实际上商店程序正在执行:
Below is my function where actually store procedure is executing :
Public Function GetDenialDispute(ByVal storeProcedure As String, ByVal clientId As String, ByVal UserId As String, ByVal recStatus As String) As List(Of DenialDispute)
Dim lstDenialDispute As List(Of DenialDispute) = New List(Of DenialDispute)()
Using connection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("constr").ConnectionString)
Using command As New SqlCommand(storeProcedure, connection)
command.CommandType = CommandType.StoredProcedure
connection.Open()
command.Parameters.AddWithValue("@ClientSysID", clientId)
command.Parameters.AddWithValue("@UserID", UserId)
command.Parameters.AddWithValue("@RecStatus", recStatus)
Using reader = command.ExecuteReader()
While reader.Read()
lstDenialDispute.Add(New DenialDispute(reader("Age").ToString(), reader("Flg").ToString(), reader("PE").ToString()))
End While
End Using
End Using
End Using
Return lstDenialDispute
End Function
现在来自客户端我有在WCF函数之上调用以下句子编码:
now come at client side i have coded below sentence which is calling above WCF function :
Dim listDenialDispute As List(Of ServiceReferenceTest.DenialDispute) = New List(Of ServiceReferenceTest.DenialDispute)(cntTest.GetDenialDispute("storeprocedure", "client","user", "1"))
所以在调用该方法之后WCF返回列表下方并使用正确的属性,如_Age,_ Flg和PeSysID
但是在客户端上我正在获得_Age,_ AgeField,_ AgeFieldSpecified,_ AgeFieldSpecified
你可以建议为什么WCF添加_AgeField,_ AgeFieldSpecified ,_ AgeFieldSpecified自动???
提前致谢
so after calling that method WCF returning below list with correct properties like "_Age","_Flg" and "PeSysID"
but on client side i am getting "_Age","_AgeField","_AgeFieldSpecified","_AgeFieldSpecified"
can you suggest on why WCF added "_AgeField","_AgeFieldSpecified","_AgeFieldSpecified" automatically ???
Thanks in advance