Я не могу получить результаты из запроса в коде в бизнес-приложениях Silverlight - PullRequest
1 голос
/ 19 июля 2011

относительно вашей книги "Pro Business Applications with Silverlight 4" есть что-то, что делает меня громоздким. Я говорю о получении результатов от запроса в коде позади. Предполагая, что вы используете службы WCF RIA, вы всегда получаете ничего из-за асинхронного механизма между сервером и клиентом. Я пытался использовать BusyIndicator, как это (VB), но он не работает:

dim ctx as new DomainService1
dim query= from p As Entity1 In Ctx.GetQueryEntity1Query select p 

If ctx.IsLoading = True Then
   BusyIndicator1.IsBusy = True
   Else
   BusyIndicator1.IsBusy = False
End If

Как остановить Программу до тех пор, пока Сервер не завершит операцию загрузки?

1 Ответ

1 голос
/ 20 июля 2011

Вам нужно загрузить объекты, используя Load -Metod класса DomainContext. Этот метод ожидает, что запрос будет вызываться, и это указывает, какие объекты загружать. Load-Method возвращает экземпляр LoadOperation , который можно использовать для проверки завершения загрузки сущностей и для доступа к загруженным сущностям.

Попробуйте обновить код следующим образом:

dim ctx as new DomainService1
dim query= ctx.GetQueryEntity1Query
dim loadOperation = ctx.Load(query)

loadOperation.Completed += LoadCompleted
BusyIndicator1.IsBusy = True

Private Sub LoadCompleted(sender as object, e as EventArgs)
   BusyIndicator1.IsBusy = False
end Sub
...