Имам кодирани C # Web Api 2 приложение за уеб услуги, което използва JSON. Сега искам да изтегля данни от тази уеб услуга в моето приложение Xamarin.
Тук е моят Xamarin код:
public AndroidMapCompanyViewModel GetMapCompanyFromWebService(string URL)
{
AndroidMapCompanyViewModel androidMapCompanyViewModel = new AndroidMapCompanyViewModel ();
using (var webClient = new System.Net.WebClient())
{
var json = webClient.DownloadString(URL);
androidMapCompanyViewModel = JsonConvert.DeserializeObject<AndroidMapCompanyViewModel>(json);
}
return androidMapCompanyViewModel;
}
Получавам следната грешка:
Error: ConnectFailure (Network is unreachable)
С следния URL адрес:
"http://localhost:22101/api/MapCompanyAPI/1"
Когато кликнете върху подробностите за грешката, следното е в горната част на списъка:
System.ArgumentException: Illegal characters in path.
Ако отворя браузъра си, мога да се свържа успешно с URL адреса.
Мога ли да помогна, за да сериализира данните от json от моя локален URL адрес?
Благодаря предварително
Отговори:
0 за отговор № 1Очевидно използвате. За да се отнесете към настолната си машина. Ето как свързвате устройството си с Android към местния.
Освен това вероятно е по-добре да използвате HttpClient вместо WebClient. Ето един пример, използващ HttpClient, който просто се счупих заедно.
public void DownloadJson ()
{
using (var httpClient = new HttpClient ())
{
var response = httpClient.GetAsync (URL).Result;
if (response.IsSuccessStatusCode) {
var responseContent = response.Content;
string contents = responseContent.ReadAsStringAsync ().Result;
// insert your code here
}
}
}