Il codice di sotto è il primo tentativo di costruire un servizio windows.
L'ho installato e lanciato.
Quando copio files nella directory c:\Test li ricopia correttamente nella directory c:\tmp.
Cancello questi files e riprovo e vedo che non va. Controllo il servizio e noto che è interrotto.
Se lo riavvio ritorna a funzionare per poi interrompersi.
Chiedo aiuto perchè in questo campo (servizi windows sono proprio scarso)
codice:
Option Strict On
Public Class Test
'percorso della directory in esame
Private dir As String = "c:\Test"
Protected Overrides Sub OnStart(ByVal args() As String)
'verifica l'esistenza della directory
If Not Directory.Exists(dir) Then
Directory.CreateDirectory(dir)
End If
'inizia a ricevere gli eventi dal file system
FileSystemWatcher1.Path = dir
FileSystemWatcher1.EnableRaisingEvents = True
End Sub
Protected Overrides Sub OnStop()
'smette di ricevere gli eventi dal file system
FileSystemWatcher1.EnableRaisingEvents = False
End Sub
Protected Overrides Sub OnPause()
MyBase.OnPause()
'smette di ricevere gli eventi dal file system
FileSystemWatcher1.EnableRaisingEvents = False
End Sub
Protected Overrides Sub OnContinue()
MyBase.OnContinue()
'inizia a ricevere gli eventi dal file system
FileSystemWatcher1.EnableRaisingEvents = True
End Sub
Private Sub FileSystemWatcher1_Created(sender As Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created
Dim ext As String = Path.GetExtension(e.FullPath)
Select Case ext
Case ".jpg", ".png"
Dim nome As String = Path.GetFileNameWithoutExtension(e.FullPath)
Dim destFileName = "c:\tmp\" & nome & "_ridotto.jpg"
File.Copy(e.FullPath, destFileName)
End Select
End Sub
End Class