2011-07-19 4 views
1

あなたの書籍「Pro Bussiness Applications with Silverlight 4」には面倒なことがあります。私はコードの中でクエリの結果を得ることについて話しています。あなたがWCF RIA Servicesを使用していることを前提にすると、ServerとClientの間の非同期的なメカニズムのため、常にNothingを取得しています。 は、私はこのようなBusyIndi​​cator(VB)を使用しようとしたが、それは動作しません:Silverlight Bussinessアプリケーションのコードの後ろにあるクエリの結果を取得できません

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 

Serverは、ロード操作を完了するまでプログラムを停止する方法?

答えて

1

Load-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 
関連する問題