/ / Използване на WebClient за свързване с Web Service - json, url, xamarin, webclient, asp.net-web-api2

Използване на WebClient за свързване с Web Service - json, url, xamarin, webclient, asp.net-web-api2

Имам кодирани 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 към местния.

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
}
}
}