ODataとSilverlightを使用して、Netflixサービスを使用しているサンプルアプリケーションを作成しようとしています。私はすでにWPFを使ってアプリケーションを作成することに成功しましたが、私のサービスクラスを非同期モデルに移植するのに苦労しています。OData with Repository Pattern
私の既存のサービスクラス(簡体字)、次のようになります。
public IEnumerable<Title> BlockingSearch(TitleSearchParam param)
{
var catalog = new NetflixCatalog(new Uri("http://odata.netflix.com/Catalog/"));
return catalog.Titles.Where(t =>
t.Instant.AvailableFrom > param.InstantStartDate && t.Instant.AvailableFrom < param.InstantEndDate &&
(string.IsNullOrEmpty(param.TitleName) || t.Name.Contains(param.TitleName))).ToList();
}
のODataを消費するすべての例は非同期レポジトリパターンのいくつかの種類を使用し、および/またはに渡されるインスタンス化コレクションを必要と私は考え私は私がので、いくつかのことができると思い
public void AsyncSearch(TitleSearchParam param, Action<IEnumerable<Title>> completedCallback, Action<MyErrorClass> errorCallback, object callBackOwner)
{
}
:(サービスクラス自体はステートレスである)このような何かを見るためのSilverlight /非同期呼び出しのためのメソッドシグネチャをモデル化したいですMSの輪郭線に沿ったものはCalling Synchronous Methods Asynchronouslyですが、私が欠けていたよりエレガントな解決策があることを期待していました。