Проблема: Я работаю над приложением Silverlight, и я загружаю много данных в DomainContext, то есть из веб-службы. Он начинает запускать несколько разных запросов, при этом BusyIndicator отображает текущий запрос, но когда он добирается до запроса с наибольшим количеством данных, он зависает. Через несколько минут он говорит, что сервер не отвечает на следующий запрос.Silverlight зависает при загрузке данных DomainContext
Отладочные решения: Система работает, когда загружаю меньше данных. Я предполагаю, что это время, и поэтому он говорит, что следующий запрос не существует, т. Е. Он даже не может связаться с веб-службой. Некоторое время я оглядывался, и люди предлагали увеличить время ожидания и максимальный размер результата. Они решили другие проблемы, поэтому я знаю, что они работают (т. Е. Что они применяются), но это не решает эту проблему.
Я попытался изолировать проблему, чтобы убедиться, что это не какая-то глупая проблема, которая не имеет ничего общего с загрузкой данных. Проблемы возникают при возврате из функции запроса в веб-службе (результат возврата, ниже), то есть не должно быть проблем с самой веб-службой. Таким образом, выполняется отладочная печать, а вторая - 2726 элементов.
кодВеб-сервис:
public IQueryable<Person> GetPeopleWithSubscription()
{
Debug.WriteLine("Before");
IQueryable<Person> result = test();
Debug.WriteLine("After " + result.Count().ToString());
return result;
}
private IQueryable<Person> test()
{
return this.ObjectContext.People.Where(p =>
p.Subscriptions.Count > 0 ||
p.Subscriptions1.Count > 0 ||
p.ID < 0);
}
телефонный код:
...
_context.Load(_context.GetSubscriptionTypesQuery(), DataLoaded, false);
...
Кроме того, проблема, как представляется, на стороне клиента, так как старый клиент (т.е. до возникновения проблемы) до сих пор работает с новым сервером. Тем не менее, я переживал различия в репозитории с тех пор, как возникла проблема, и я не могу найти ничего, что должно иметь значение (не говоря о том, что его нет).
Может ли кто-нибудь помочь мне с этой проблемой? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.