2012-01-23 5 views
5

await/async 'パターン'(SL5とVS11を使用)を使用してSilverlightアプリケーションを作成しようとしていますが、サービス設定で[タスクベースの操作を生成]を選択できません、これは可能であると思われますか(まだ)?Silverlightのタスクベースデータサービス

+0

状況を再現することができました.SSLプロジェクトの[サービス参照設定]ダイアログの[クライアント]セクション全体が無効になっています。 VS11がリリースされる前に、Microsoft Connectの問題を開いて、起動することができます。 –

+0

スティーブンさん、ありがとうございます。私はこのために精神病院に自分自身を管理する必要はありません:) –

+0

私はこのためにMS Connectの問題を追加しました。まだ活動はありません:https://connect.microsoft.com/VisualStudio/ feedback/details/722368/await-async-pattern-in-sl5 –

答えて

0

Silverlight 5およびVisual Studio 2010でタスクベースの非同期サービスプロキシを手動で作成できました。
charmのように動作します。
個人的に契約書とサービスプロキシーを手動で作成することをお勧めしますが、サービスの生成に関するリファレンスをご希望の場合はthis post - WCF + Tasksをご覧ください。

+0

これはVS11に持ち込まれるawait/async機能とどのように関連していますか? (または、その点についてはAsync CTP?) –

+1

私が知る限り、タスクまたはタスクを返す任意のメソッドでasync/await構文を使用できます。 – ViktorZ

+1

@ViktorZまたはVoid –

0

私はSilverlightでサポートされていないと思いますが、あなた自身で行うことができます。移植可能なクラスライブラリがこれのための別の回避策になるかもしれません。

public class MyCServiceProxy 
{ 
    public static Task<ObservableCollection<MyC>> GetMyCs() 
    { 
     var tcs = new TaskCompletionSource<ObservableCollection<MyC>>(); 

     var client = new MyCServiceClient(); 

     client.GetMyCsCompleted += (s,e) => {}; 

     client.GetMyCsAsync(); 

     return tcs.Task; 
    } 
} 
関連する問題