Тайм-аут подключения эмулятора Windows Mobile для доступа к локальной веб-службе

У меня есть приложение для Windows Mobile 6, которое пытается выполнить вызов веб-службы для службы, размещенной на моем локальном компьютере, поэтому я могу отладить процесс входа в систему с VS2008, подключающимся как к эмулируемому устройству, так и к веб-службе.

Я настроил эмулятор устройства для подключения к Интернету и подтвердил это, выполнив поиск Bing из IE на устройстве. Я проверил, что веб-служба запущена и работает, используя локальную тестовую форму на машине и установив vxUtil на эмулируемое устройство и проверил, могу ли я проверить связь с моей машиной и сделать запрос GET на URL-адрес веб-службы http://MyMachineName>/Service/MyService.asmx, оба успешно.

Приложение проверяет сетевое подключение, проверяя ответ веб-запроса от www.google.com, и это успешно, но когда я пытаюсь вызвать метод входа в систему для веб-службы, я получаю .Net SocketException 10060 - A попытка подключения не удалась, потому что подключенная сторона не ответила должным образом по прошествии определенного периода времени, или установление соединения не удалось из-за того, что подключенный хост не ответил.

Примечание: эта проверка сетевого подключения будет заменена на строки из этой статьи: Установите сетевое подключение с помощью диспетчера подключений Windows Mobile

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


person Dave Anderson    schedule 07.10.2010    source источник
comment
Он отлично работает при подключении к экземпляру веб-службы, не размещенной локально, правильно разрешая имя машины, поэтому вместо этого я удаленно отлаживаю это. Я попытался использовать IE на устройстве для доступа к веб-службе на моем компьютере, и это не работает с IP или именем машины, но отлично работает с удаленным хостом. Потребуется больше узнать о виртуальной сети.   -  person Dave Anderson    schedule 08.10.2010
comment
То, что моя виртуальная сетевая карта на мобильном устройстве взаимодействует с моей реальной сетевой картой, кажется слишком большим шагом. Учитывая, что мы заглянули в адаптер обратной петли, который, похоже, делает это возможным.   -  person Dave Anderson    schedule 13.10.2010


Ответы (1)


Наиболее вероятная причина, по которой это может произойти, заключается в том, что поиск DNS для вашего ПК не работает для эмулятора устройства WinMo. Это означает, что когда он пытается разрешить "MyMachineName", он либо возвращает неверный IP-адрес, либо вообще не возвращает его.

Вы можете проверить это, выполнив вызов Dns.Resolve в своем коде, чтобы увидеть, что он вернет. Также может быть проще попытаться получить доступ к службе по IP-адресу напрямую, а не использовать имя компьютера, тем самым полностью обойдя DNS.

person ctacke    schedule 07.10.2010
comment
Я пробовал использовать как IP-адрес, так и имя моей машины для URL-адреса веб-службы. Когда я использую vxUtil, оба правильно отвечают на запрос ping и GET на URL-адрес. Я собираюсь попробовать и посмотреть, какой трафик я могу видеть с помощью Wireshark. - person Dave Anderson; 08.10.2010