我有一个只有一个Web方法的Web服务,它返回一个布尔值和一个函数
当客户端应用程序使用此Web服务时,我首先要返回一个值true,然后继续执行剩余的过程。
我正在谷歌搜索,没有发现任何我能理解的内容。请帮帮我。在其中一篇消息帖子中,我看到线程作为一个选项。我也试过了。下面是相同的代码我评论了线程部分请帮助
<WebMethod()> _
Public Function HelloWorld(ByVal str As String) As Boolean
Dim status As Boolean = False
If str <> "" Then
'Dim t As New Thread(AddressOf ReturnWSStatus)
't.Start()
Me.DoItNow()
End If
Return status
End Function
Public Shared Function ReturnWSStatus() As Boolean
Return True
'Thread.Sleep(0)
End Function
答案 0 :(得分:0)
你需要做这样的事情:
<WebMethod()> Public Function HelloWorld(ByVal str As String) As Boolean
Dim status As Boolean = False
If str <> "" Then
Dim t As New Thread(AddressOf DoItNow)
t.Start()
return true
End If
End Function
严格地说,web方法在附加处理开始之前不会返回,但它会在新线程启动后立即返回,因此时间差非常小。一旦从方法返回,它的执行就完成了,所以无论你想要什么,它都需要在Return语句之前启动。