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);
         }
     }));
 }
Example #2
0
 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 ");
 }
Example #3
0
 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);
         }
     }
 }
Example #4
0
 static void HandleScanSinkEvent(object sender, ScanStoreEvent e)
 {
     Console.WriteLine(e);
 }