我无法从Silverlight业务应用程序中的代码中获取查询结果

时间:2011-07-19 19:43:00

标签: vb.net silverlight wcf-ria-services

关于您的书“使用Silverlight 4的专业商务应用程序”,有些东西让我很累。我正在谈论从代码中获取查询结果。假设您正在使用WCF RIA服务,由于服务器和客户端之间的异步机制,您总是得不到任何结果。 我试过使用这样的BusyIndi​​cator(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 个答案:

答案 0 :(得分:1)

您需要使用Load - DomainContext类的方法加载实体。此方法需要调用查询并指定要加载的实体。 Load-Method返回LoadOperation的实例,您可以使用该实例来检查实体的负载是否已经finshed并访问已加载的实体。

尝试更新您的代码,如下所示:

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