【发布时间】:2015-05-20 06:19:46
【问题描述】:
我正在尝试使用 Xamarin 形式的 Simple.OData.Client 从 Nortwind URL 获取数据。应用程序永远挂起。简单的项目源码在以下链接:Download
using Simple.OData.Client;
public async void InitializeDataService(){
try {
mODataClient = new ODataClient("http://services.odata.org/Northwind/Northwind.svc/");
}
catch {
await DisplayAlert("Error", "Connection Error", "OK", "Cancel");
System.Diagnostics.Debug.WriteLine("ERROR!");
}
}
public async void GetDataFromOdataService (string myDataClicked){
try {
myCustomers= mODataClient.For(myDataClicked).Top(10).FindEntriesAsync().Result;
}
catch {
await DisplayAlert("Error", "Connection Error", "OK", "Cancel");
System.Diagnostics.Debug.WriteLine("ERROR!");
}
}
更新:1 我已根据 Pete 的建议更新了我的代码。仍然永远挂起。
private ODataClient mODataClient;
private IEnumerable <IDictionary<string,object>> myCustomers;
public ObservableCollection <Customer>Customers { get; set;}
public string myDataString;
public MyDataServices (string myDataClicked)
{
Title="Customers";
myDataString = myDataClicked;
callServices();
}
public async Task callServices()
{
await InitializeDataService ();
await GetDataFromOdataService (myDataString);
}
public async Task InitializeDataService(){
try {
mODataClient =
new ODataClient("http://services.odata.org/Northwind/Northwind.svc/");
}
catch {
await DisplayAlert("Error", "Connection Error", "OK", "Cancel");
System.Diagnostics.Debug.WriteLine("ERROR!");
}
}
public async Task GetDataFromOdataService (string myDataClicked){
try {
myCustomers= mODataClient.For(myDataClicked).Top(10).FindEntriesAsync().Result;
}
catch {
await DisplayAlert("Error", "Connection Error", "OK", "Cancel");
System.Diagnostics.Debug.WriteLine("ERROR!");
}
}
【问题讨论】:
标签: xamarin odata xamarin.forms