我和我的朋友刚刚创建了一个 WCF 数据服务,并希望通过 Windows Phone 8 客户端使用它。对于 WCF 数据服务部分,OData 被证明可以与一个为数据库执行 CRUD 的 windows 窗体项目一起工作。
所以为了让 WP8 使用 WCF 数据服务,我们按照教程一步一步下载了 MSDN 教程 http://msdn.microsoft.com/en-us/library/windows/apps/hh394007(v=vs ) 上的示例代码.105).aspx
但是,示例不起作用。手机上没有显示数据库中的数据。
我们发现
Customers.LoadAsync(Query)
下面的函数不会在 http://services.odata.org/Northwind/Northwind.svc/Customers() 中加载public void LoadData
XML数据。MainViewModel Class
public void LoadData()
{
// Instantiate the context and binding collection.
_context = new NorthwindEntities(_rootUri);
Customers = new DataServiceCollection<Customer>(_context);
// Specify an OData query that returns all customers.
var query = from cust in _context.Customers
select cust;
// Load the customer data.
Customers.LoadAsync(query);
}
我们修改了 OnCustomerLoaded 函数以显示错误消息(如果有):
private void OnCustomersLoaded(object sender, LoadCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message+e.Error.InnerException);
}
// Make sure that we load all pages of the Customers feed.
if (Staffs.Continuation != null)
{
Staffs.LoadNextPartialSetAsync();
}
//MessageBox.Show(Staffs.ToString());
IsDataLoaded = true;
}
我们收到以下错误:
我们正在使用 VS2012 高级版,使用 OData 5.0.0 创建了带有数据绑定项目的 Windows Phone 8。
我们不得不承认这个错误可能不是问题的根本原因,但我们无法弄清楚,因为我们是新手。如果有人能指出如果这不是错误根源,我们应该改变什么以使示例正常工作,我们将不胜感激。
非常感谢!!