使用线程VB调用Web服务时出现InvalidOperationException。净

时间:2012-10-22 20:16:52

标签: .net vb.net multithreading web-services

我在项目中添加了一个Web引用。

我正在使用线程,他们以这种方式调用Web服务:

Private Sub principal()
    Dim arrayH As New ArrayList
    Dim h As Thread
    Dim z As Integer = 150

    For i As Integer = 1 To Z
        h= New Thread(AddressOf doWork)
        arrayH.Add(h)
    Next


    For Each _h As Thread In arrayH
        _h.Start()
    Next
End Sub

Private Sub doWork()
    Dim service As webService.Query
    Dim parameter, response As String

    parameter = "..."'The parameter is a xml

    Try
        service = New Query
        response = service.Report(parameter)

    Catch ex As Exception
        'do something
    End Try

End Sub

当有许多线程(Z = 150)时,它会抛出:

System.InvalidOperationException

There is an error in XML document (1, 279).

Unable to read data from the transport connection: The connection was closed. 

如果Z小的话没问题。我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

错误“无法从传输连接读取数据:连接已关闭。”实际上是一个服务器端问题。你可能会一次要求太多的请求。