protected override async Task <Action <NativeActivityContext> > ExecuteAsync(NativeActivityContext context, CancellationToken cancellationToken) { // Inputs var hostName = HostName.Get(context); var portNumber = PortNumber.Get(context); var userName = UserName.Get(context); var password = Password.Get(context); var sftp_session = new SftpClient(hostName, portNumber, userName, password); sftp_session.Connect(); sftp_Session_Var = sftp_session; _objectContainer.Add <SftpClient>(sftp_session); return((ctx) => { // Schedule child activities if (Body != null) { ctx.ScheduleAction <IObjectContainer>(Body, _objectContainer, OnCompleted, OnFaulted); } // Outputs }); }