Infos von der Webseite holen (Classic ASP <> VB.NET) - gibts da soetwas wie Events?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.

    Infos von der Webseite holen (Classic ASP <> VB.NET) - gibts da soetwas wie Events?

    Hallo Leute,

    für ein Projekt habe ich folgende Vorgaben:

    1. CSV-Dateien auf einen Windows Webserver hochladen (Classic ASP) (fertig)
    2. Diese CSV-Dateien über eine WEB-App auslesen, modifizieren und wieder auf dem Webserver speichern (fertig)
    3. Sobald die Web-App Daten verändert hat, soll die lokale VB.NET Anwendung die geänderten Daten vom Webserver holen.



    1)
    Webupload und speichern der Dateien am Webserver. Die Classic-ASP Komponente ist auch fertig und gibt den Dateinamen zurück, wenn die Datei am Server gespeichert wurde, ansonsten eine Fehlermeldung.

    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Gibt True zurück, wenn der Dateiupload funktioniert hat (wenn die Ziel-URL den reinen Dateinamen zurückgegeben hat)
    3. ''' </summary>
    4. ''' <param name="URL"></param>
    5. ''' <param name="DateiPfad"></param>
    6. ''' <returns></returns>
    7. Public Function DateiUpload(URL As String, DateiPfad As String) As String
    8. If Not File.Exists(DateiPfad) Then Return "Datei nicht gefunden!"
    9. Dim DateiName As String = System.IO.Path.GetFileName(DateiPfad)
    10. Dim wc As New System.Net.WebClient()
    11. Dim Ergebnis As Byte()
    12. With wc
    13. '.Credentials = New System.Net.NetworkCredential("username", "password")
    14. Ergebnis = .UploadFile(URL, "POST", DateiPfad)
    15. If System.Text.Encoding.Default.GetString(Ergebnis).ToUpper = DateiName.ToUpper Then
    16. Return ""
    17. Else
    18. Return System.Text.Encoding.Default.GetString(Ergebnis) + vbCrLf + vbCrLf + .ResponseHeaders.ToString
    19. End If
    20. End With
    21. End Function


    2)
    Das ist schon fertig. Wem es interessiert, kann es sich hier ansehen: simplyhotel2.at/login.asp
    Login: 111111 Passwort: 000000 (Manager)
    Login: 111111 Passwort: 111111 (Zimmermädchen)

    3)
    Ich könnte zwar per Timer am Webserver anfragen ob es "neues" gibt und das dann herunterladen, aber irgendwie kommt mir das zu brachial vor.
    Gibts da nicht etwas wie eine art "Event", welches mir sagt "da gibts was neues am Server")? Also ein Event welches von der Web-App ausgelöst wird.

    Vielen Dank für Eure Hilfe.
    LG Roland
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „dive26“ ()

    Hat niemand einen Vorschlag/Tipp bezüglich Punt 3?
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    Hey,

    soweit ich weiß gibt es etwas, dass sich Server Sent Events (SSE) nennt. Das sollte eigentlich das sein, wonach Du suchst. Ich weiß nur nicht, ob dies auch mit einer .NET-Client-Anwendung ohne große Fummelei funktioniert. Ich selbst hab das nie gebraucht und hab jetzt auch nur kurz darüber gelesen, also hab ich leider auch kein konkretes Beispiel für Dich.

    Ansonsten finde ich es nicht so brachial, alle halbe Minute nachzusehen, ob eine neue Datei-Version vorhanden ist. Eine Frage der Verhältnismäßigkeit in meinen Augen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o