Метод Webservice GET не показывает список пользователей в xamarin android
Привет! У меня есть приложение xamarin.forms, в которое я добавил класс WebService, который будет получать список пользователей в моей базе данных.Для API я создал a asp.net основное веб-приложение, к которому я подключил свою локальную базу данных sqlite.Это мой класс веб-сервиса:
public class WebService { public static string BaseAddress = Device.RuntimePlatform == Device.Android ? "https://10.0.2.2:5001" : "http://192.168.87.107:5000";//using my local IP address and check to see the platform the app is running on public static string UsersUrl = $"{BaseAddress}/api/Users/"; public async Task<ObservableCollection<User>> GetUser() { var httpClient = new HttpClient(); var json = await httpClient.GetStringAsync(UsersUrl); var users = JsonConvert.DeserializeObject<ObservableCollection<User>>(json); return users; } }
Это мой класс UsersViewModel:
public class UsersViewModel : BaseViewModel { private WebService service = new WebService(); public ICommand FetchDataUser { get; set; } public UsersViewModel() { // FetchDataUser = new Command(FetchData); userService = new UserRepository(); usersList = new ObservableCollection<User>(); GetUsers(); } private ObservableCollection<User> usersList; public ObservableCollection<User> UserList { get { return usersList; } set { if (usersList != null) usersList = value; OnPropertyChanged("UserList"); } } private async Task GetUsers() { usersList = await service.GetUser(); } }
Когда я запускаю отладчик и ставлю точку останова,я вижу только url-адрес, используемый приложением, без каких-либо других записей.В.Сетевое приложение,я могу видеть записи в базе данных без каких-либо проблем,как в почтальоне, так и в браузере, поэтому я понятия не имею, почему такое поведение. Может ли кто - нибудь помочь мне в этом вопросе?Любая помощь будет оценена по достоинству.
Что я уже пробовал:
Я попытался перебрать список пользователей и добавить записи в коллекцию:
private async Task GetUsers() { usersList = await service.GetUser(); foreach(User r in usersList) { usersList.Add(r); } }
Я попытался изменить свой локальный IP-адрес как с помощью "localhost", так и с помощью "127.0.0.1" и объявить отдельный url-адрес, который будет иметь api списка пользователей:
public string url = "http://127.0.0.1:5000/api/Users"