私は簡単なWebApi Webサービスからデータを取得しようとしています。 AndroidのXamarinアプリケーションでは私は非常に簡単なコードを持っている:i'amはunhandlerエラーを受信するのでAndroid Xamarinを使用してWebApiからデータを取得する方法は?
public class Persons
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
class WebRequests
{
public static List<Persons> getPersons()
{
List<Persons> lp = new List<Persons>();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
HttpResponseMessage response = client.GetAsync("http://localhost:49814/api/Data/Persons").Result;
if (response.IsSuccessStatusCode)
{
lp = JsonConvert.DeserializeObject<Persons[]>(response.Content.ReadAsStringAsync().Result).ToList();
}
}
catch
{
}
return lp;
}
}
問題はライン
HttpResponseMessage response = client.GetAsync("http://localhost:49814/api/Data/Persons").Result;
です。私はステートメントをキャッチするエラーメッセージがないので、何が間違っているのかわかりません。私は単純なWinフォームアプリケーションでこのコードをテストしていましたが、すべてうまくいきました。 Xamarinアプリをテストするために、私は組み込みエミュレータを使用しています。テスト用に実際のデバイスを使用する必要がありますか?
localhostを使用しているので、同じマシン上で使用する必要があります。実際のデバイス(私が好む)を使用する場合は、適切なホスト名またはIPを設定する必要があります。 – smoksnes
私はそれを知っています。 Webサービス、androidエミュレータは同じマシン上で実行されています。 – Shagohad