示例#1
0
        internal override BaseClientCommandTransportManager CreateClientCommandTransportManager(ClientRemotePowerShell cmd, bool noInput)
        {
            BaseClientCommandTransportManager manager = this._transportManager.CreateClientCommandTransportManager(this._connectionInfo, cmd, noInput);

            manager.DataReceived += new EventHandler <RemoteDataEventArgs>(this.DispatchInputQueueData);
            return(manager);
        }
 internal ClientPowerShellDataStructureHandler(BaseClientCommandTransportManager transportManager, Guid clientRunspacePoolId, Guid clientPowerShellId)
 {
     this.transportManager             = transportManager;
     this.clientRunspacePoolId         = clientRunspacePoolId;
     this.clientPowerShellId           = clientPowerShellId;
     transportManager.SignalCompleted += new EventHandler <EventArgs>(this.OnSignalCompleted);
 }
示例#3
0
        internal override BaseClientCommandTransportManager CreateClientCommandTransportManager(
            System.Management.Automation.Runspaces.Internal.ClientRemotePowerShell cmd,
            bool noInput)
        {
            BaseClientCommandTransportManager cmdTransportMgr =
                _transportManager.CreateClientCommandTransportManager(_connectionInfo, cmd, noInput);

            // listen to data ready events.
            cmdTransportMgr.DataReceived += DispatchInputQueueData;

            return(cmdTransportMgr);
        }
 private void HandleReadyForDisconnect(object sender, EventArgs args)
 {
     if (sender != null)
     {
         BaseClientCommandTransportManager item = (BaseClientCommandTransportManager)sender;
         lock (this.associationSyncObject)
         {
             if (this.preparingForDisconnectList != null)
             {
                 if (this.preparingForDisconnectList.Contains(item))
                 {
                     this.preparingForDisconnectList.Remove(item);
                 }
                 if (this.preparingForDisconnectList.Count == 0)
                 {
                     this.preparingForDisconnectList = null;
                     ThreadPool.QueueUserWorkItem(new WaitCallback(this.StartDisconnectAsync), this.remoteSession);
                 }
             }
         }
     }
 }