/// <summary> /// Dispose implementation. /// </summary> /// <param name="disposing"></param> private void Dispose(bool disposing) { if (_isDisposed || !disposing) return; lock (_syncObject) { if (_isDisposed) return; // Suspend all running jobs then dispose all runspace providers if (jobManager != null) jobManager.Dispose(); jobManager = null; var remoteRunspaceProvider = _runspaceProvider as ConnectionManager; if (remoteRunspaceProvider != null) remoteRunspaceProvider.Dispose(); _runspaceProvider = null; var localRunspaceProvider = _localRunspaceProvider as LocalRunspaceProvider; if (localRunspaceProvider != null) localRunspaceProvider.Dispose(); _localRunspaceProvider = null; var unboundedLocalRunspaceProvider = _localRunspaceProvider as LocalRunspaceProvider; if (unboundedLocalRunspaceProvider != null) unboundedLocalRunspaceProvider.Dispose(); _unboundedLocalRunspaceProvider = null; activityHostController = null; _isDisposed = true; } }
internal void SetWorkflowJobManager(PSWorkflowJobManager wfJobManager) { lock (PSWorkflowRuntime.syncLock) { this.jobManager = wfJobManager; } }
internal void SetWorkflowJobManager(PSWorkflowJobManager wfJobManager) { lock (syncLock) { jobManager = wfJobManager; } }