Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Schedulare un servizio
Forum - C# / VB.NET - Schedulare un servizio

Avatar
marco123 (Normal User)
Newbie


Messaggi: 2
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 17:11
Lunedì, 06/04/2009
Ciao a tutti è la prima volta che posto qui. Quindi ciao innanzitutto! :)

Questa mattina, grazie all'aiuto di un utente di un altro forum ho approcciato l'uso dei Windows Service mediante VS2008.

Qualche intoppo iniziale ma alla fine sono riuscito a fare quello che volevo.
Adesso ho questo dubbio. Il mio servizio è ben visibile dalla gestione servizi e quando lo avvio fà quello che deve fare con successo.
Adesso vorrei sapere come poter schedulare il suddetto servizio che esegua il suo lavoro ogni 20 minuti esatti.
Ossia: lo avvio alle 08:00 per la prima volta ed il servizio risulta: Avviato.
alle 08.20 in automatico, esso dovrà risvolgere l'operazione come se lo avessi manualmente riavviato. E cosi via, ogni 20 minuti esatti. Ho paura di fare casini quindi chiedo a voi, con la speranza che abbiate già avuto di queste necessità.

Grazie!!!

PM Quote
Avatar
marco123 (Normal User)
Newbie


Messaggi: 2
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 17:47
Lunedì, 06/04/2009
Mi sono inventato questo e funziona, però vorrei sapere cosa ne pensate.

Imports System.IO
Imports System.Timers

Public Class Service1

    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Add code here to start your service. This method should set things
        ' in motion so your service can do its work.
        Dim t As New Timer(20000)
        AddHandler t.Elapsed, AddressOf TimerFired
        With t
            .AutoReset = True
            .Enabled = True
            .Start()
        End With


    End Sub
    Private Sub TimerFired(ByVal sender As Object, ByVal e As ElapsedEventArgs)
        Working()
    End Sub
    Protected Overrides Sub OnStop()
        ' Add code here to perform any tear-down necessary to stop your service.

    End Sub
    Private Sub working()
        MkDir("C:\provaservizio\T" & Format(DateTime.Now, "yyyy.dd.MM_HH.mm.ss"))
    End Sub

End Class

A lungo andare (anche se lo script girerà ogni 20 minuti, 20 secondi nell'esempio) creerà problemi alla macchina? :pat: <-- bellissima :) :k:

Ultima modifica effettuata da marco123 il 06/04/2009 alle 17:47
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:33
Martedì, 07/04/2009
Non credo dia fastidio. Se vuoi minimizzare il consumo di ram, sfoglia tutte le referenze del progetto ed elimina quelle inutili (ce ne saranno sicuramente).

PM Quote