static void Main(string[] args) { var config = new Configuration(ConfigurationManager.AppSettings["Folders"] , ConfigurationManager.AppSettings["SuccessFolder"] , ConfigurationManager.AppSettings["ErrorFolder"] , ConfigurationManager.AppSettings["ProcessingFolder"] , ConfigurationManager.AppSettings["FileNamePattern"] , int.Parse(ConfigurationManager.AppSettings["TimerTime"]) , ConfigurationManager.AppSettings["CodeString"] , int.Parse(ConfigurationManager.AppSettings["StatusTimerTime"])); HostFactory.Run(x => { x.Service <ScanProcessService>(s => { s.ConstructUsing(() => new ScanProcessService(config)); s.WhenStarted((sc, hostControl) => sc.Start(hostControl)); s.WhenStopped((sc, hostControl) => sc.Stop(hostControl)); }); x.SetServiceName("ScanService"); x.SetDisplayName("Scaner Service"); x.StartAutomaticallyDelayed(); x.RunAsLocalService(); }); }
public ScanProcessService(Configuration config, IDirectoryService directoryService, IFileProcessor fileProcessor) { _configuration = config; _directoryService = directoryService; _fileProcessor = fileProcessor; _rules = new List <IInteruptRule> { new TimerRule(_configuration.TimerValue), new BarcodeRule(_configuration.BarcodeString), new NameRule(_configuration.FileNamePattern) }; }
public ScanProcessService(Configuration config) { var queueClient = new AzureQueueClient(); statusService = new StatusService(config.BarcodeString, config.StatusTimerTime, CurerntState.WatingFiles, queueClient); subscriptionClient = new AzureSubscriptionClient(statusService); _configuration = config; _directoryService = new DirectoryService(); _fileProcessor = new FileProcessor(_configuration.SuccessFolder, _configuration.ErrorFolder, _configuration.ProcessingFolder, _configuration.FileNamePattern, queueClient); _rules = new List <IInteruptRule> { new TimerRule(_configuration.TimerValue), new BarcodeRule(_configuration.BarcodeString), new NameRule(_configuration.FileNamePattern) }; }
static void Main(string[] args) { var container = WindsorConfiguration.Configure(); var a = container.Resolve <IDirectoryService>(); var config = new Configuration(ConfigurationManager.AppSettings["Folders"] , ConfigurationManager.AppSettings["SuccessFolder"] , ConfigurationManager.AppSettings["ErrorFolder"] , ConfigurationManager.AppSettings["ProcessingFolder"] , ConfigurationManager.AppSettings["FileNamePattern"] , int.Parse(ConfigurationManager.AppSettings["TimerTime"]) , ConfigurationManager.AppSettings["CodeString"]); var fileService = container.Resolve <IFileService>(new { config.SuccessFolder }); HostFactory.Run(x => { x.Service <ScanProcessService>(s => { s.ConstructUsing(() => new ScanProcessService(config, container.Resolve <IDirectoryService>(), container.Resolve <IFileProcessor>(new { fileService, config.SuccessFolder, config.ErrorFolder, config.ProcessingFolder, config.FileNamePattern }))); s.WhenStarted((sc, hostControl) => sc.Start(hostControl)); s.WhenStopped((sc, hostControl) => sc.Stop(hostControl)); }); x.SetServiceName("ScanService"); x.SetDisplayName("Scaner Service"); x.StartAutomaticallyDelayed(); x.RunAsLocalService(); }); }