Мой класс средства просмотра файлов:
Код: Выделить всё
internal static class PpsTransactionFileWatcher
{
private static FileSystemWatcher _watcher;
public static Suburban.Miscellaneous.Response StartPpsFileWatcher()
{
var response = new Suburban.Miscellaneous.Response();
response.IsSuccess = true;
response.Message = "Success";
try
{
CreateTrnFileWatcher();
ProcessTransactionFile();
return response;
}
catch (Exception ex)
{
LoggingWrapper.Log("StartPpsFileWatcher", ex.ToString(), ex);
response.IsSuccess = false;
response.Message = ex.Message;
return response;
}
}
private static void CreateTrnFileWatcher()
{
try
{
_watcher = new FileSystemWatcher
{
Path = GlobalSettings.PpsDirectory,
NotifyFilter = NotifyFilters.LastWrite,
Filter = GlobalSettings.PpsTransactionFile
};
_watcher.Changed += TrnWatcherChanged;
_watcher.EnableRaisingEvents = true;
}
catch (Exception ex)
{
LoggingWrapper.Log("CreateTrnFileWatcher", ex.ToString(), ex);
throw;
}
}
private static void TrnWatcherChanged(object sender, FileSystemEventArgs e)
{
try
{
_watcher.Changed -= TrnWatcherChanged;
ProcessTransactionFile();
_watcher.Changed += TrnWatcherChanged;
}
catch (Exception ex)
{
LoggingWrapper.Log("TrnWatcherChanged", ex.ToString(), ex);
}
}
}
Код: Выделить всё
var transresponse = PpsTransactionFileWatcher.StartPpsFileWatcher();
Подробнее здесь: https://stackoverflow.com/questions/733 ... s-on-error
Мобильная версия