0
我想創建一個示例應用程序使用OData和Silverlight,使用(還有什麼?)的Netflix服務。我已經成功地使用WPF創建應用程序,但是我正努力將我的服務類移植到異步模型。從沒有存儲庫模式Silverlight OData
我現有的服務類(簡體)看起來是這樣的:
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的異步使用某種程序存儲庫模式和/或需要的實例化的集合中傳遞的例子我會喜歡的方法簽名模型Silverlight的/異步調用看起來像這樣(與服務類本身是無狀態的):
public void AsyncSearch(TitleSearchParam param, Action<IEnumerable<Title>> completedCallback, Action<MyErrorClass> errorCallback, object callBackOwner)
{
}
我想我能這樣一些事情沿着MS在Calling Synchronous Methods Asynchronously概述的線條,但我希望有一個更優雅的解決方案,我錯過了。