private void HandleIdleEvent(object sender, EventArgs args) { Runspace runspaceUsedToInvokePowerShell = this.dsHandler.RunspaceUsedToInvokePowerShell; if (runspaceUsedToInvokePowerShell != null) { PSLocalEventManager events = runspaceUsedToInvokePowerShell.Events as PSLocalEventManager; if (events != null) { foreach (PSEventSubscriber subscriber in events.Subscribers) { events.DrainPendingActions(subscriber); } } } }
/// <summary> /// Handles the PSDataCollection idle event /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void HandleIdleEvent(object sender, EventArgs args) { Runspace rs = DataStructureHandler.RunspaceUsedToInvokePowerShell; if (rs != null) { PSLocalEventManager events = (object)rs.Events as PSLocalEventManager; if (events != null) { foreach (PSEventSubscriber subscriber in events.Subscribers) { // Use the synchronous version events.DrainPendingActions(subscriber); } } } }