Подтвердить что ты не робот

Невозможно получить доступ к WEB API с ip: port, но может с localhost: порт во время отладки VS

Я пытаюсь написать WEB API из .net и пытаюсь, чтобы мое приложение Android запросило некоторые данные из базы данных sql-сервера.

У меня написано web api, и он хорошо работает в режиме отладки.

Мой вопрос: я заметил, что URL-адрес этого приложения localhost:port, и он работает нормально. Однако, когда я пытаюсь изменить его на MYIP:port (eg. http:192.168.X.1234) или MYHOSTNAME:port (eg win7home:1234), это дает мне Bad Request - Invalid Hostname.

Я знаю, что я могу развернуть это в IIS, и мой IIS настроен, но мне было просто интересно, почему это не работает в режиме отладки???

Есть ли способ запустить его в режиме отладки и протестировать на моем Android одновременно, вместо того, чтобы разворачивать его каждый раз, когда я хочу внести изменения?

4b9b3361

Ответ 1

И ответы Антона, и Матфея указали мне в правильном направлении

Итак, это то, что я сделал

Чем он работает как в браузере машины, так и на моем телефоне.

Не слишком уверен, почему нужен третий шаг - моя гипотеза (URL-адрес localhost необходим для указания точки VS, а URL-адрес используется для доступа с другого компьютера)

Ответ 2

Если вы используете его в режиме отладки, я предполагаю, что вы используете IIS-Express.

По умолчанию IIS-Express привязывается только к localhost.

Чтобы обойти это, вы можете открыть конфигурационный файл приложения IIS-Express, расположенный по адресу: C:\Users\<username>\My Documents\IISExpress\config\applicationhost.config и изменить информацию привязки сайта.

изменить

<binding protocol="http" bindingInformation="*:55284:localhost" />

к

<binding protocol="http" bindingInformation="*:55284:*" />

Вам также придется перезапустить IIS-Express после изменения.

Ответ 3

У меня были те же проблемы, когда я хотел поделиться своим локальным хостингом IIS, чтобы некоторые ребята могли просто ввести имя моего компьютера или IP-адрес и подключиться к моему экземпляру веб-приложения. Итак, если это то, что вам нужно, когда http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer. Он работает для меня как для приложений Silverlight, так и для MVC. Я даже устанавливаю точки останова, и они удаляются с удаленной машины.