Witam,
Mam mały problem z FileSystemWatcher. Otóż mam postawiony serwer ftp który udostępnia 1 katalog do zapisu. Chciałbym monitorować ten katalog i przy zapisie jakiego kol wiek pliku graficznego otworzyć go i przetworzyć (przeskalować). I w czym problem ? Problem mam w tym że jak podepnę procedurę skalowania pod event FileSystemWatcher.Created to plik jest wciąż otwarty do zapisu. Jak przepne na changed z filtrem na wilkosc pliku to czasami plik moge odczytac czasami nie. Wymyślilem także procedure na czekanie na plik ... ale coś tu nie działa ...
do
{
try
{
FileStream fileStream = new FileStream(e.FullPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
fileStream.Close();
}
catch (IOException ex)
{
i++;
exceptionOccured = true;
System.Threading.Thread.Sleep(1000);
if (i == 15)
{
exceptionOccured = false;
eventLog1.WriteEntry("Can't read file: " + e.FullPath + "\n\nMessage: " + ex.Message + "\n\nSource: " + ex.Source + "\n\nStack trace:\n" + ex.StackTrace + "\n\nI: " + i.ToString(), EventLogEntryType.Error);
}
}
Ma ktoś może jakiś pomysł jak to rozwiązać ?