문제점 : Silverlight 응용 프로그램에서 작업 중이며 많은 데이터를 DomainContext, 즉 웹 서비스에서로드하고 있습니다. BusyIndicator가 현재 쿼리를 표시하면서 몇 가지 다른 쿼리 실행을 시작하지만 대부분의 데이터로 쿼리에 도달하면 멈 춥니 다. 몇 분 후에 서버가 다음 쿼리에 응답하지 않는다고 표시됩니다.DomainContext 데이터를로드하는 동안 Silverlight가 멈 춥니 다.
디버그/시도 된 솔루션 : 데이터를 적게로드하면 시스템이 작동합니다. 시간이 초과되었다고 가정하고 그 이유는 다음 쿼리가 존재하지 않는다는 것입니다. 즉, 웹 서비스에 연결할 수도 없습니다. 나는 한동안 둘러 보았고 사람들은 시간 초과 및 최대 결과 크기를 늘리라고 제안했습니다. 이것들은 다른 문제를 해결했기 때문에 그들이 작동한다는 것을 알았지 만 (즉, 적용되고 있음),이 문제는 해결되지 않습니다.
데이터를로드하는 것과 관련이없는 다른 바보 같은 문제가 아닌지 확인하기 위해 문제를 격리하려고했습니다. 웹 서비스의 쿼리 함수 (반환 결과, 아래)에서 반환 할 때 문제가 발생합니다. 즉, 웹 서비스 자체에는 문제가 없어야합니다. 그래서 두 디버그 프린트가 모두 실행되고, 두 번째 것은 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);
...
이 문제는 클라이언트 측에서 나타납니다 새 서버로 그러나, 나는 문제가 발생했기 때문에 저장소에서 diffs를 겪어 왔고, 차이를 만들어야하는 어떤 것도 찾을 수 없다.
누구든지이 문제를 해결할 수 있습니까? 더 자세한 정보가 필요하면 알려주십시오.