Проблема кросс-платформенного веб-api Xamarin foms
Я подключаю программу windows с тем же api, но Xamarin не предпринимает никаких действий, даже если я даю вам тот же адрес. Пример(api.xxx.com/api/Users/GetAll)
Спасибо, если вы можете помочь.
Что я уже пробовал:
private string Url = "api.xxx.com/api/Users/"; private async Task<HttpClient> GetClient() { HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("Accept", "application/json"); return client; } private async Task<MobileResult> Process(ViUserModel viUserModel, string processType) { HttpClient client = await GetClient(); // Insert işlemini gerçekleştirdik. var response = await client.PostAsync(Url + processType, new StringContent(JsonConvert.SerializeObject(viUserModel), Encoding.UTF8, "application/json")); var mobileResult = await response.Content.ReadAsStringAsync(); // Insert işleminin cevabını alıyoruz... var result = JsonConvert.DeserializeObject<MobileResult>(mobileResult); return result; } public async Task<MobileResult> GetAll(ViUserModel viUserModel, string keyCode) { return await Process(viUserModel, "GetAll?keyCode=" + keyCode); }
Sandeep Mewara
Что говорит отладчик?
Smthm
Не давая ошибок
Dave Kreskowiak
Отладчик не может сказать вам, что это за ошибки. Он предназначен для отладки вас и вашего понимания кода и того, как он выполняется.
Устанавливайте точки останова и выполняйте код построчно, проверяя содержимое переменных после каждой строки. Изменения действительно высоки, код знает что - то о содержании переменных, чего вы не знаете.
Smthm
возвращения ждут процесса(viUserModel, "способность?код=" + код);
Здесь он ничего не делает, а действует так, как будто все уже сделано
Dave Kreskowiak
Установите точку останова в начале метода процесса, чтобы увидеть, что он делает.
Pete O'Hanlon
Почему вы делаете асинхронность с GetClient? Этого не нужно ждать.
Gerry Schmitz
Ваш код очень оптимистичен.