public void SubscriberNotification(SubscriberNotification notification) { log4net.LogicalThreadContext.Properties["TransactionId"] = notification.Event.SourceTransactionId; _log.Info($"Notifying Subscriber='{notification.Subscriber.SubscriberName}' via Workflow='{notification.Subscriber.WorkFlowType.FullName}' IdleAction={IdleAction}"); using (ApplicationHelper application = new ApplicationHelper(notification.Subscriber.GetActivity(), notification.Subscriber.GetIdentity(), notification.Event, notification.Subscriber)) { application.IdleAction = IdleAction; if (OperationEndedEvent != null) { application.ActivityStartedEvent += (Guid instanceId, System.Activities.Activity activity) => { OperationStartedEvent?.Invoke(Operation.SubscriberNotification, notification.Event.SourceTransactionId, notification, instanceId.ToString()); }; application.ActivityUnhandledExceptionEvent += (System.Activities.WorkflowApplicationUnhandledExceptionEventArgs args) => { OperationEndedEvent?.Invoke(Operation.SubscriberNotification, notification.Event.SourceTransactionId, args.UnhandledException, notification, args.InstanceId.ToString()); }; application.ActivityCompletedEvent += (System.Activities.WorkflowApplicationCompletedEventArgs args) => { OperationEndedEvent?.Invoke(Operation.SubscriberNotification, notification.Event.SourceTransactionId, null, notification, args.InstanceId.ToString()); }; } application.Run(); } }
public void SubscriberNotification(SubscriberNotification notification) { _listner.SubscriberNotification(notification); SubscribersNotified++; }