protected override void OnStart(string[] args) { try { _recieveRequestTimer = new Timer(Settings.Default.RECIEVE_REQUEST_TIMER * 1000); _recieveRequestTimer.Elapsed += RecieveRequestTimerOnElapsed; _recieveRequestTimer.Enabled = true; eventLog.WriteEntry($"Сервис запущен, периодичность проверки наличия запросов: {Settings.Default.RECIEVE_REQUEST_TIMER} сек", EventLogEntryType.Information); _recieveResponseTimer = new Timer(Settings.Default.RECIEVE_RESPONSE_TIMER * 1000); _recieveResponseTimer.Elapsed += RecieveResponseTimerOnElapsed; _recieveResponseTimer.Enabled = true; eventLog.WriteEntry($"Сервис запущен, периодичность проверки наличия ответов: {Settings.Default.RECIEVE_RESPONSE_TIMER} сек", EventLogEntryType.Information); _sendTimer = new Timer(Settings.Default.SEND_TIMER * 1000); _sendTimer.Elapsed += SendTimerOnElapsed; _sendTimer.Enabled = true; eventLog.WriteEntry($"Сервис запущен, периодичность проверки очереди для отправки: {Settings.Default.SEND_TIMER} сек", EventLogEntryType.Information); _errorsQueue = new ErrorsQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER, Settings.Default.RABBIT_PASS); _ackQueue = new AckQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER, Settings.Default.RABBIT_PASS); _ackQueue.LogEvent += QueueOnLogEvent; _ackQueue.Subscribe(OnReceivedAck, OnErrorAck, true, Settings.Default.WAITING_MIN, Settings.Default.MAX_ITERATIONS); _rejectQueue = new RejectQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER, Settings.Default.RABBIT_PASS); _rejectQueue.LogEvent += QueueOnLogEvent; _rejectQueue.Subscribe(OnReceivedReject, OnErrorReject, true, Settings.Default.WAITING_MIN, Settings.Default.MAX_ITERATIONS); } catch (Exception ex) { eventLog.WriteEntry(ex.Message, EventLogEntryType.Error); Stop(); } }
private async void BtnSendReject_OnItemClick(object sender, ItemClickEventArgs e) { await ForeachOnSelectedRows(delegate(Message message, CancellationToken token) { var rejected = new RejectQueue(Settings.Default.RABBIT_SERVER, Settings.Default.RABBIT_USER, Settings.Default.RABBIT_PASS); rejected.Push(new RejectMessage() { MessageId = message.MessageId.ToString(), SmevRejectCode = 0 }); }, new ForEachOnSelectedRowsSettings() { OperationName = e.Item.Hint.ToString(), Refresh = true }); }