internal static void NotifySubscribersOnStatusChange(MAStatus status) { if (EventService.subscribers.ContainsKey(status.ManagementAgentID)) { foreach (IEventCallBack i in EventService.subscribers[status.ManagementAgentID].ToArray()) { try { i.MAStatusChanged(status); } catch (Exception ex) { logger.Warn(ex, "Error notifying client. Client will be deregistered"); EventService.DeregisterCallbackChannel(i); } } } }
internal static void NotifySubscribersOnRunProfileExecutionComplete(Guid managementAgentID, RunProfileExecutionCompleteEventArgs e) { if (EventService.subscribers.ContainsKey(managementAgentID)) { foreach (IEventCallBack i in EventService.subscribers[managementAgentID].ToArray()) { try { i.RunProfileExecutionComplete(e); } catch (Exception ex) { logger.Warn(ex, "Error notifying client. Client will be deregistered"); EventService.DeregisterCallbackChannel(i); } } } }
private static void CommObj_Faulted(object sender, EventArgs e) { EventService.DeregisterCallbackChannel(sender); logger.Trace("Deregistered faulted callback channel"); }