Невозможно получить доступ к 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 одновременно, вместо того, чтобы разворачивать его каждый раз, когда я хочу внести изменения?
Ответы
Ответ 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. Я даже устанавливаю точки останова, и они удаляются с удаленной машины.