Как управлять вызовом AggregateException во время вызова PostAsync?C#

Место общения программистов C#
Ответить
Anonymous
 Как управлять вызовом AggregateException во время вызова PostAsync?

Сообщение Anonymous »

Я получаю AggregateException во время вызова client.PostAsyc, даже если у меня установлен большой тайм-аут.

Вот мой код.

Код: Выделить всё

try
{
StoresList objlist = new StoresList();
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.ApplicationDataContainer session = Windows.Storage.ApplicationData.Current.RoamingSettings;

var contents = new FormUrlEncodedContent(new[]
{
new KeyValuePair("userapi", session.Values["userapi"].ToString()),
new KeyValuePair("keyapi", session.Values["keyapi"].ToString()),
new KeyValuePair("notification_flag","1"),
new KeyValuePair("token", localSettings.Values["deviceid"].ToString()),
});

using (var client = new HttpClient()  { Timeout = TimeSpan.FromMinutes(4) } )
{
var result = client.PostAsync(session.Values["URL"] + "/abcd/", contents).Result;

if (result.IsSuccessStatusCode)
{
string data = result.Content.ReadAsStringAsync().Result;
if (data.Contains("activate") || data.Contains("enable"))
{
//Please activate the Mobile Assistant Extension
return null;
}

if (data != null)
{
List objStores = JsonConvert.DeserializeObject(data).stores;

foreach (var item in objStores)
{
Stores objs = new Stores();
{
objs.id = item.id;
objs.name = item.name;
objlist.Add(objs);
}
}
}

}
}
return objlist;
}
catch (Exception ex)
{
throw ex;
return null;
}
Может ли кто-нибудь подсказать, как с этим справиться? Иногда я получаю AggregateException.

Я перешел по следующей ссылке, но все равно получаю ошибку. Событие, в котором я установил тайм-аут.

Как узнать, что тайм-аут HttpClient истек?

При этом выдается AggregateException ожидание PostAsJsonAsync

В чем разница между HttpClient.Timeout и использованием свойств тайм-аута WebRequestHandler?

Подробнее здесь: https://stackoverflow.com/questions/365 ... async-call
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»