Avatar billede nythjem Nybegynder
03. februar 2006 - 10:08 Der er 2 kommentarer og
1 løsning

This code has called into another function?

Hej Alle.

Jeg har et problem i min applikation jeg håber nogle kan løse.

Ved at bruge en timer kontrol kalder jeg en funktion, der henter en xml fil, lige pt. hvert 30 sekund.

Problemet opstår, når funktionen er blevet kaldt et par gange, så fryser applikationen. Jeg pauser så min applikation, den markerer følgende sætning:

> Dim myHulaResponse As System.Net.WebResponse = myHulaRequest.GetResponse()

Og siger:

This code has called into another function. When that function is finished, this is the next statement that will be executed.


Når jeg tvinger den til at gå videre får jeg en timeout meddelelse.

Mit spørgsmål er så, hvordan jeg enten kan tvinge den til at gå videre, eller lukke connectionen til objektet ??

Jeg er lidt på bar bund her, så hjælp er rigtig meget værdsat :)


Min kode herunder:
================================================

Public Class RssManager

    Public Shared Function ProcessNewsFeed(ByVal rssURL As String) As ArrayList

        Dim returnArrayList As New ArrayList

        Try
            Dim myHulaRequest As System.Net.WebRequest = System.Net.WebRequest.Create(rssURL)
            Dim myHulaResponse As System.Net.WebResponse = myHulaRequest.GetResponse()
            myHulaRequest.Timeout = 10000

            Dim rssHulaStream As System.IO.Stream = myHulaResponse.GetResponseStream()
            Dim rssHulaDoc As System.Xml.XmlDocument = New System.Xml.XmlDocument()

            rssHulaDoc.Load(rssHulaStream)

            Dim rssHulaItems As System.Xml.XmlNodeList = rssHulaDoc.SelectNodes("rss/channel/item")
            Dim currentHulaRssItem As System.Xml.XmlNode

            For Each currentHulaRssItem In rssHulaItems

                Dim rssHulaDetail As System.Xml.XmlNode
                Dim tempHulaNewsItem As New NewsItem

                ' TITLE
                rssHulaDetail = currentHulaRssItem.SelectSingleNode("title")

                If Not IsNothing(rssHulaDetail) Then
                    tempHulaNewsItem.Title = rssHulaDetail.InnerText
                Else
                    tempHulaNewsItem.Title = ""
                End If

                ' LINK
                rssHulaDetail = currentHulaRssItem.SelectSingleNode("link")

                If Not IsNothing(rssHulaDetail) Then
                    tempHulaNewsItem.Link = rssHulaDetail.InnerText
                Else
                    tempHulaNewsItem.Link = ""
                End If

                ' DESCRIPTION
                rssHulaDetail = currentHulaRssItem.SelectSingleNode("description")

                If Not IsNothing(rssHulaDetail) Then
                    tempHulaNewsItem.Description = rssHulaDetail.InnerText
                Else
                    tempHulaNewsItem.Description = ""
                End If

                ' PUBLISER
                rssHulaDetail = currentHulaRssItem.SelectSingleNode("publiser")

                If Not IsNothing(rssHulaDetail) Then
                    tempHulaNewsItem.Publiser = rssHulaDetail.InnerText
                Else
                    tempHulaNewsItem.Publiser = ""
                End If

                ' Hula USER
                rssHulaDetail = currentHulaRssItem.SelectSingleNode("hulauser")

                If Not IsNothing(rssHulaDetail) Then
                    tempHulaNewsItem.Hulauser = rssHulaDetail.InnerText
                Else
                    tempHulaNewsItem.Hulauser = ""
                End If

                returnArrayList.Add(tempHulaNewsItem)

            Next

            ' Clean up
            currentHulaRssItem = Nothing
            rssHulaItems = Nothing
            rssHulaDoc = Nothing
            rssHulaStream.Close()
            myHulaResponse.Close()
            myHulaResponse = Nothing
            myHulaRequest = Nothing

        Catch Ex As Exception
            ' Do nothing
            MessageBox.Show("Fejl:" & Ex.ToString())
        End Try

        Return returnArrayList

    End Function

End Class
Avatar billede khs1a Nybegynder
04. februar 2006 - 09:09 #1
Stopper du timer inden processnewsfeed kaldes?
Avatar billede nythjem Nybegynder
04. februar 2006 - 17:27 #2
Hej!

Når timer bliver ticked caller jeg en funktion på siden. Funktionen bruger ovenstående processnewsfeed, processnewsfeed ligger som en seperat fil i projektet.

Men nej, jeg stopper ikke timeren, skal jeg det? :)
Avatar billede nythjem Nybegynder
08. februar 2006 - 09:52 #3
Jeg lukker dette spørgsmål.

Problemet skyldes, at jeg via try åbnede et objekt, men desværre ikke fik lukket det ordentligt igen :)
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



IT-JOB

Udlændinge- og Integrationsministeriet

Contract Managers til kontrakt- og leverandørstyring

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Metroselskabet og Hovedstadens Letbane

Cyber Security Konsulent

Udviklings- og Forenklingsstyrelsen

Erfarne IT-udviklere til fremtidens skattevæsen