0

我和我的朋友刚刚创建了一个 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 LoadDataXML数据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;
        }

我们收到以下错误:

LoadAsync 方法出错

我们正在使用 VS2012 高级版,使用 OData 5.0.0 创建了带有数据绑定项目的 Windows Phone 8。

我们不得不承认这个错误可能不是问题的根本原因,但我们无法弄清楚,因为我们是新手。如果有人能指出如果这不是错误根源,我们应该改变什么以使示例正常工作,我们将不胜感激。

非常感谢!!

4

1 回答 1

0

这看起来像您的应用程序无法访问互联网,这可能是由于您的 WP Emulator 的设置问题引起的。

您可以先试用内置的 Internet Explorer,并检查它是否可以访问 Internet。如果没有,您可以进入 Hyper-V 配置页面,尝试更改网络适配器设置,或参考以下页面了解详细信息。

于 2014-10-21T06:06:04.020 回答