Я пытаюсь загрузить файл на сервер. Как только пользователь сделает фотографию с помощью приложения и примет ее, фотография будет загружена. Но если пользователь решит сделать еще одну фотографию, пока предыдущая фотография все еще загружается, процесс загрузки отменяется и выдает AggregateException
. Мне нужно загрузить более одного, чтобы избежать такого сценария.
Вот код, который я использую для загрузки файла:
private async Task<T> ExecuteHttpPost<T>(string url, HttpContent content) where T : BaseServerResponseModel
{
try
{
using (HttpClient client = new HttpClient())
{
HttpStatusCode statusCode = HttpStatusCode.OK;
if (BeforeRequestPerformListener != null)
{
if (!BeforeRequestPerformListener(this, new BeforeRequestEventArgs(url, null)))
{
return null;
}
}
var response = await client.PostAsync(url, content);
if (ResponseRecivedListener != null)
{
ResponseRecivedListener(this, response);
}
statusCode = response.StatusCode;
response.EnsureSuccessStatusCode();
var entityResponse = await response.GetJsonResponse<T>();
entityResponse.ThrowIfNoSuccess();
return entityResponse;
}
}
catch (Exception e)
{
throw;
}
return null;
}
Я также попытался обернуть весь код в Task.Run
, но все равно выдал то же исключение.
Что-нибудь, что мне не хватает?
Примечание: фотография действительно загружается на сервер, если я жду ее завершения. Только когда я открываю камеру во время загрузки, возникает исключение