[VB.NET] Creare Scheduler

lunedì 19 maggio 2008 - 10.13

actarus1981 Profilo | Junior Member

Ciao a tutti,
ho creato un WinService in vb.net e avrei ora la necessità di schedulare direttamente all'interno del servizio l'esecuzione di alcune funzioni ad un orario stabilito, ad esempio la creazione di un file di log alle 5 di ogni giorno.

Avete qualche suggerimento? Ho provato a cercare in rete, ma non ho trovato praticamente niente.

Grazie

Fabio

Brainkiller Profilo | Guru

>Ciao a tutti,
>ho creato un WinService in vb.net e avrei ora la necessità di
>schedulare direttamente all'interno del servizio l'esecuzione
>di alcune funzioni ad un orario stabilito, ad esempio la creazione
>di un file di log alle 5 di ogni giorno.

Ciao,
è possibile farlo con l'uso dei Timers a livello di global.asax:
http://www.aspitalia.com/articoli/asp.net/timerweb-p-1.aspx

Qui è spiegato dettagliatamente come si fa.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

actarus1981 Profilo | Junior Member

ma posso integrarlo direttamente nel progetto vb?

Brainkiller Profilo | Guru

>ma posso integrarlo direttamente nel progetto vb?

Ciao,
ho sbagliato a leggere il nome della stanza. Pensavo che ti servisse in ambito Web. Beh, che tipo di Task vuoi eseguire da dentro il servizio ? L'implementazione si può fare comunque con lo stesso sistema del Web usando dei Timer, ma bisogna capire che task vuoi lanciare.
Aspetto dettagli.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

actarus1981 Profilo | Junior Member

Devo semplicemente lanciare delle funzioni implementate nella mia applicazione, ma ad orari prestabiliti. Per il momento ho creato un timer, e quello che ho fatto è stato aggiungere questa porzione di codice che al momento uso come "schedulatore":

Private Sub t1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t1.Tick Dim compare As String = Format(Now(), "HHmmss") If compare = oraUpDb Then writeTxtFile("Inizio aggiornamento...") ftp.GetAggiornamenti("/promo.txt") ftp.GetAggiornamenti("/cid.txt") bbUpdate.ActivatePromo() bbUpdate.UpdatePromoBulk() bbUpdate.UpdateCidBulk() bbUpdate.PrintLimitCheck() writeTxtFile("...aggiornamento effettuato") End If End Sub

Tu hai idee migliori? La mia soluzione sinceramente non mi piace molto, ma è l'unica che sono riuscito a trovare.

Fabio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5