Проблемы с подключением к локальному отладочному экземпляру службы RESTful из Xamarin Forms - PullRequest
1 голос
/ 10 мая 2019

У меня есть базовый сервис RESTful, реализованный в проекте VS 2015. Я только начал изучать формы Xamarin (в VS 2019) и пытаюсь проверить, могу ли я использовать сервис из эмулятора Android.

Когда я запускаю службу в режиме отладки, я могу использовать "http://localhost:49826/api/values/2" и успешно получать данные из службы.

Однако, когда я ТОГДА использую то же самое из моего проекта Xamarin:

_client = new HttpClient (); _client.GetAsync ( "http://localhost:49826/api/values");

Я получаю следующую ошибку:

{System.Net.WebException: не удалось подключиться к localhost / 127.0.0.1: 49826 ---> Java.Net.ConnectException: не удалось подключиться к localhost / 127.0.0.1: 49826

Следующая информация, которую я нашел здесь: https://docs.microsoft.com/en-us/xamarin/cross-platform/deploy-test/connect-to-local-web-services, Я изменил вызов на:

_client.GetAsync ( "http://10.0.2.2:49826/api/values");

{Newtonsoft.Json.JsonReaderException: неожиданный символ, обнаруженный при разборе значения: <. Путь '', строка 0, позиция 0. </p>

Клиентский вызов работает нормально с "https://jsonplaceholder.typicode.com/posts",, и служба работает нормально при вызове из браузера, но что-то не хватает, когда я пытаюсь подключить их. Есть идеи?

1 Ответ

0 голосов
/ 10 мая 2019

Если вам по-прежнему не удается подключиться к локальной конечной точке, попробуйте перейти с IIS Express на полный IIS, доступный в Windows. Это работало для меня в прошлом. Я знаю, что IIS Express обрабатывает входящий трафик не так, как IIS.

Windows: Пуск -> Поиск: Функции Windows -> Включить или отключить функции Windows -> Включить службы IIS.

На этом этапе перейдите к localhost, чтобы убедиться, что вы видите целевую страницу IIS.

Visual Studio (в веб-проекте) -> Проект -> Свойства [ProjectName] ... -> Отладка -> Переключить запуск с IIS Express на IIS.

Имейте в виду, что если вы сделаете это переключение на свой проект и откроете этот проект на компьютере, на котором не включен IIS, они не смогут его открыть. Поэтому при необходимости вам придется переключить его обратно на IIS Express.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...