我有一个带有功能的web服务。它在应用程序中,我想使用它,但我不确定它是如何工作的。
我的问题在于函数标题,以及最后的返回?不知道应该在那里。基本上我的web服务必须运行存储的procudure,循环遍历数据集,procudure返回的行应该以字符串形式显示。
C#help也欢迎
网络服务:
功能:
' Not sure what must be in header. '
Public Function SelectAuditsFunction(ByVal PTC_ID As Integer, ByVal Message As String) As String
Dim success As Boolean = False
Dim lblLinkedAudits As String
Dim sqlString As String = String.Empty
Dim conn As SqlConnection
Dim connString As String = "MyConn"
Dim cmdGetPol As New SqlCommand("p_GetLinkedProcuduresProtocol")
cmdGetPol.Parameters.AddWithValue("PTC_ID", PTC_ID)
cmdGetPol.CommandType = CommandType.StoredProcedure
cmdGetPol.Connection = conn
Dim sqlConnGetLinkedAudits As New SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("MyConnManagement").ConnectionString)
sqlConnGetLinkedAudits.Open()
Dim sqlDataAdapGetLinkedAudits As New SqlClient.SqlDataAdapter(sqlString, sqlConnGetLinkedAudits)
sqlDataAdapGetLinkedAudits.SelectCommand.CommandType = CommandType.Text
Dim sqlParGetLinkedAudits As New SqlClient.SqlParameter("@PTC_ID", SqlDbType.NVarChar, 255)
sqlDataAdapGetLinkedAudits.SelectCommand.Parameters.Add(sqlParGetLinkedAudits)
Dim dsGetLinkedAudits As New DataSet
Try
sqlDataAdapGetLinkedAudits.Fill(dsGetLinkedAudits, "LinkedAudits") '<--- Not sure how to loop through all the items in dataset and set to a string.
Catch ex As Exception
Finally
sqlConnGetLinkedAudits.Close()
sqlConnGetLinkedAudits.Dispose()
End Try
For Each dr As DataRow In dsGetLinkedAudits.Tables(0).Rows
lblLinkedAudits = (dr("dsProtocols"))
Next
'Return Here not sure what to do, At the end the string should be returned!
Return lblLinkedAudits.ToString
End Function
答案 0 :(得分:1)
首先确定第一件事:
必须在要调用它们的地方引用WebServices,您可以在服务端执行任何操作,如果您不启动该服务并在客户端中引用它,它将不会执行任何操作
其次,要在数据集上循环,在这个答案中就可以这样了
第三,它只需要以字符串形式返回它,这样你就可以使用StringBuilder相应地附加你需要的东西
最后函数的标题你应该在项目上有一个IServiceFile,在那里它应该是你的函数正上方的[OperationContract],这样服务就知道可以调用该函数了