Xamarin 폼에서 Simple.OData.Client를 사용하여 Nortwind URL에서 데이터를 반입하려고합니다. 응용 프로그램이 영원히 중단됩니다. 간단한 프로젝트 소스 코드는 다음 링크에 있습니다 DownloadXamarin 폼에서 OData가 영원히 멈춤
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 내가 업데이트 한 내 코드를 기반으로. 아직도 영원히 걸려있다.
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!");
}
}
안녕 피트. 내 앱을 실행하지 못하게하는 사소한 일들이 누락 된 것 같습니다. 전자 메일을 통해 내 소스 코드를 보냈습니다. – casillas
안녕하세요, 귀하의 제안에 따라 코드를 업데이트했습니다. 여전히 중단됩니다. – casillas
방금 수정본을 이메일로 보냈습니다. 그것은 나를 위해 작동합니다. 시도해보고 알려줘? – Pete