我正在使用以下代码来获取页面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 />");
}
但是我收到了这个错误:
尝试跟踪实体或复杂类型失败,因为实体或复杂类型'NorthwindService.ServiceReference1.Rentals' 没有实现INotifyPropertyChanged接口。
答案 0 :(得分: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子目录中,修复命名空间以匹配您之前自动生成的版本。
答案 1 :(得分:0)
我认为您可能无法启用绑定接口的代码生成。根据此链接,这将在步骤的第2步中介绍 http://blogs.msdn.com/b/astoriateam/archive/2009/09/01/introduction-to-data-binding-in-ctp2.aspx。 尝试按照步骤2中的说明设置环境变量,然后右键单击服务引用并选择“更新服务引用...”