VB.net中的Web Service返回值问题

时间:2009-08-23 19:36:11

标签: vb.net web-services

我有一个只有一个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

1 个答案:

答案 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语句之前启动。