public Task NotifySubscriberAsync(ScanStoreEvent e) { return(Task.Factory.StartNew(() => { using (LogProvider.OpenNestedContext("Task_NofitySubscriber_ScanDelivery")) { log.Info("Notify remote subscriber of scan delivery result"); log.DebugFormat("Begin call remote notification of scan delivery result [{0}]", e); try { _subscriber.HandleScanDelivered( new ScanDeliveryResult { WasDelivered = !e.IsException, DeliveryResponse = e.IsException ? e.Exception.Message : e.DeliveryResponse } ); } catch (Exception ex) { log.WarnFormat("Unable to notify remote subscriber of scan delivery result [{0}]", ex.Message); IsOpen = false; } log.DebugFormat("End call remote subscriber scan delivery result [{0}]", e); } })); }
private void HandleScanStoreEvent(object sender, ScanStoreEvent e) { log.Info("Handle result of delivery of scan"); log.DebugFormat("Begin handling Scan delivery result [{0}]", e); if (e.IsException) { log.InfoFormat("Create Windows Event Log Entry of [{0}]", e); EventLog.WriteEntry(this.ServiceName, e.Exception.Message, System.Diagnostics.EventLogEntryType.Warning, 101); } subscribers.NotifyAll(e); log.Debug("End handling Scan delivery result "); }
public void NotifyAll(ScanStoreEvent e) { log.Info("NotifyAll subscribers asynchronously of scan delivery result"); foreach (var subscriber in _subscribers.Values) { try { log.Info("Notify subscriber async of scan delivery result"); subscriber.NotifySubscriberAsync(e); } catch (Exception ex) { log.ErrorFormat("Failed to complete delivery notification [{0}]", e); log.ErrorFormat("Exception during delivery notification [{0}]", ex); } } }
static void HandleScanSinkEvent(object sender, ScanStoreEvent e) { Console.WriteLine(e); }