2011-11-29 40 views
0

我使用下面的代碼獲取頁面WCF服務的所有頁面:從WCF服務獲取的所有數據

var ent = new DataSource(new Uri("http://api.abc.com/Service.svc")); 

ent.Credentials = new NetworkCredential("username", "pass"); 

DataServiceCollection<Rentals> rentals = new DataServiceCollection<Rentals>(ent.Rentals); 
while (rentals.Continuation != null) 
{ 
    rentals.Load(ent.Execute<Rentals>(rentals.Continuation)); 
} 

foreach (var r in rentals) 
{ 
    Response.Write(r.ListingID + "<br />"); 
} 

,但我收到此錯誤:

An attempt to track an entity or complex type failed because the entity or complex type 'NorthwindService.ServiceReference1.Rentals' does not implement the INotifyPropertyChanged interface.

+0

你可以調試到代碼,並看到**哪裏**(在哪一行)這個錯誤發生? –

+0

我收到以下錯誤消息:DataServiceCollection rentals = new DataServiceCollection (ent.Rentals); – DotnetSparrow

回答

3

我與NorthwindClient WPF應用程序玩同樣的症狀。問題似乎是,即使在應用後面的.NET 3.5 ADO.NET Data Services patch KB982306後,DataSvcUtil.exe仍然不會生成INotifyPropertyChanged接口。這個技巧似乎是你需要後面的.NET 4.0 version中的DataSvcUtil.exe(4.0.30319.17929)。安裝.NET 4.0組件後,您可以按照鏈接Arun Rana的說明手動執行DataSvcUtil,然後將生成的.cs文件複製到適當的ServiceReferences子目錄中,修復命名空間以匹配先前自動生成的版本。

+0

再次看我的版本,它似乎我實際上使用[.NET 4.5版本] [1]中的DataSvcUtil.exe。 [1] http://msdn.microsoft.com/en-us/library/5a4x27ek.aspx –