Я разрабатываю решение, состоящее из двух элементов: веб-сервера, который публикует некоторые службы REST, и мобильного клиента, который использует эти службы. Для реализации служб REST я использовал технологию Web API.
Когда я запускаю веб-проект в режиме отладки, все работает нормально. Я могу использовать службы, указав на localhost:63954/api. Странный факт: если я меняю "localhost" на "127.0.0.1" или на LAN-адрес машины, 192.168.xxx.xxx, сервер больше не отвечает!
Затем, когда я запускаю клиент Windows Phone, который работает в виртуализированном эмуляторе, он не может подключиться к веб-серверу! Даже если оба компонента работают на одной машине. Очевидно, что в Windows Phone я не могу использовать «локальный хост», поскольку локальным хостом телефона является сам телефон. Итак, я пытаюсь использовать адрес 192.168.xxx.xxx, который является адресом машины, на которой запущена веб-служба. Но эмулятор мобильного телефона не может подключиться к веб-сервису.
Мне нужно запустить веб-сервер в Visual Studio 2012, так как мне нужно его отладить и сделать доступным из эмулятора Windows Phone, но я не знаю, как это сделать. Можешь мне помочь? Любая идея?
Большое спасибо, Риккардо.
РЕДАКТИРОВАТЬ: Перейдя по ссылке, найденной здесь (Привязка IIS Express к IP-адресу) и, отключив брандмауэр, я могу запустить веб-приложение за пределами VS12 и сделать его доступным с другого компьютера в сети, а также с эмулятора WP. Это может быть обходной путь, но я не могу отлаживать службу REST в VS таким образом, и это нехорошо...
nslookup 127.0.0.1
в командной строке win, что она возвращает? - person Filip   schedule 20.04.2013