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);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <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);
                    }
                }
            }
        }