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

问题描述 投票:1回答:1

关于你的书“使用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

如何在服务器完成加载操作之前停止程序?

vb.net silverlight wcf-ria-services
1个回答
1
投票

您需要使用DomainContext类的Load-Method加载实体。此方法需要调用查询并指定要加载的实体。 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
© www.soinside.com 2019 - 2024. All rights reserved.