Мне нужно сохранить файл на двух разных серверах, используя .net api.Its asp.net Core web api.Я хочу вернуть ответ вызывающей стороне при успешном сохранении файла на любом из серверов.Может ли это быть достигнуто с помощью асинхронного программирования?Можем ли мы вернуть ответ из API и сохранить его в другом месте?
Пока я использую параметр Параллельно:
var imageName = $"{Guid.NewGuid().ToString()}.{extension}";
var locations = new ConcurrentDictionary<string, string>();
Parallel.ForEach(destinationFolders, folder =>
{
try
{
var fullName = $@"{folder.Value}\{imageName}";
if (!Directory.Exists(folder.Value))
Directory.CreateDirectory(folder.Value);
var bytes = Convert.FromBase64String(content);
using (var imageFile = new FileStream(fullName, FileMode.Create))
{
imageFile.Write(bytes, 0, bytes.Length);
imageFile.Flush();
}
locations.TryAdd(folder.Key, Regex.Replace(folder.Value, @"\\", @"\"));
}
catch (Exception ex)
{
Logging.Log.Error($"{Constants.ExceptionOccurred} : {ex.Message} against {folder.Key} Value : {Regex.Replace(folder.Value, @"\\", @"\")}");
}
});
Однако проблема в том, что я заставляю его ждать покаон завершает сохранение как в местоположении, так и возвращает ответ.