Я пишу свой первый пользовательский Activity для рабочего процесса RPA UiPath, в котором мне нужно асинхронно c отправить поток файлов в бэкэнд. Это то, что я придумал, но у меня просто такое ощущение, что это не совсем работает:
class SendFiles : AsyncCodeActivity<string>
{
private readonly HttpClient client = new HttpClient();
private readonly string url = "";
[Category("Input")]
[RequiredArgument]
public InArgument<List<string>> Files { get; set; }
[Category("Input")]
[RequiredArgument]
public string BearerToken { get; set; }
[Category("Output")]
public OutArgument JsonResult { get; set; }
protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
{
foreach (var filePath in Files.Get(context))
{
try
{
using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
HttpContent content = new StreamContent(fs);
client.PostAsync(url, content);
}
}
catch (IOException e)
{
Console.WriteLine(e.Message);
throw;
}
}
return null;
}
protected override string EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
{
throw new NotImplementedException();
}
}
После отправки всего пакета я хочу дождаться результата обработки всей серверной части. эти файлы. как я могу выполнить sh это?