Ergebnis 1 bis 4 von 4

Baum-Darstellung

  1. #4
    db
    Registriert seit
    07.06.2009
    Beiträge
    585

    Standard

    @hackerking Abort geht nicht (achso, Krusty hatte es schon geschrieben... )

    @Krusty: Danke, dass war nun das erste mal, dass ich einen Background Worker verwendet habe. Zuerst hatte ich den Webrequest per Timer immer wieder ausgeführt, allerdings hat das Programm dann einige Sekunden (nach dem Intervall) nicht mehr reagiert.

    Edit:

    Folgendes gemacht. Timer beide entfernt, BGW wird nun über einen Button gestartet:
    Code:
    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
            bgWorker.RunWorkerAsync()
            notifyCheck.ShowBalloonTip(1000, "anwendungsname", "Verbindung zu: " & txtURL.Text & " wird hergestellt.", ToolTipIcon.Info)
        End Sub
    Die BGW Klasse sieht nun folgendermaßen aus:
    Code:
    Private Sub bgWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgWorker.DoWork
            While True
                Try
                    Dim httpRequest As HttpWebRequest = HttpWebRequest.Create(txtURL.Text)
                    Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
                    Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
                    Dim httpContent As String = reader.ReadToEnd()
                    txtContent.Text = httpContent
                    If txtContent.Text.Contains(txtString.Text) = True Then
                        notifyCheck.ShowBalloonTip(10000, "c2x postchecker", "Neues Ergebnis bei: " & txtURL.Text, ToolTipIcon.Info)
                        txtString.Clear()
                    End If
                Catch ex As Exception
                    MsgBox("Es ist ein Fehler während der Verbindung zu: " & txtURL.Text & " aufgetreten." & vbCrLf & _
                           "Überprüfen Sie Ihre Internetverbindung.", MsgBoxStyle.Information, "irgendein name")
                End Try
                Application.Exit()
                Thread.Sleep(2000)
            End While
        End Sub
    Allerdings scheint die Routine fehlerhaft abzulaufen, denn die Exception wird nun nach jedem mal Starten (des BGW) mit etwas Zeitverzögerung angezeigt.

    Anscheinend liegt es am Webrequest, wobei ich an sich keinen Fehler feststellen kann.
    Geändert von c2x (05.05.2010 um 17:08 Uhr) Grund: Automerged Doublepost


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •