Avatar billede jens_bach Nybegynder
28. september 2009 - 09:12 Der er 2 kommentarer

BackgroundWorker og system.net.webrequest, virker ikke som det skulle

Hej ...


jeg har lavet et lille program der scanner et /24 net igemmen efter http serverer.

men jeg kan ikke få det til og virke som jeg vil
jeg har 5 BackgroundWorker der hændte data fra serverne.
der har jeg sat en timeout på 500 ms. men det ser ud som om at alle BackgroundWorker er afhængig af hinanden, altså som om en BackgroundWorker ikke køre i sin egen tråd, kan det passe ?

/jens
Avatar billede bvli Praktikant
28. september 2009 - 10:23 #1
Det er nok lidt svært at sige noget om, uden at se noget kode. BackgroundWorkers kører i deres "egen" tråd - dvs. de bruger en fra ThreadPool'en.
Avatar billede jens_bach Nybegynder
28. september 2009 - 12:05 #2
her er koden som der bliver kørt 5 gange af hver BackgroundWorker



-----

Private Function GetXMLfromPhone(ByVal ipaddress As System.Net.IPAddress, ByVal CallingWorker As Integer, Optional ByVal XMLgetTimeout As Integer = 2000) As string


        Dim request As WebRequest



        Dim PhoneXML As New Xml.XmlDocument
       
        Dim result As String = Nothing

        Dim FejlString As String = ""
        Dim FejlResponce As String = ""

        Dim errorNo As Boolean = False
       

        request = WebRequest.Create("http://" & ipaddress.ToString & "/XMLinfo")
        Dim response As HttpWebResponse = Nothing
        request.Timeout = XMLgetTimeout




        RaiseEvent UpdateWorkerIpInfo(CallingWorker, ipaddress.ToString)

        Try
            response = CType(request.GetResponse(), HttpWebResponse)

            Dim dataStream As Stream = response.GetResponseStream()
            Dim reader As New StreamReader(dataStream)
            result = reader.ReadToEnd()


       



        Catch ex As WebException
            FejlString = "HTML:WEB:" & ex.Status
            errorNo = True
        Catch ex As Exception
            FejlString = ex.ToString
            errorNo = True
        Finally
            If Not response Is Nothing Then response.Close()




        End Try



     

        return result


    End Function
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester