Тайм-аут соединения с эмулятором Windows Mobile для доступа к локальной веб-службе - PullRequest
1 голос
/ 07 октября 2010

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

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

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

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

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

1 Ответ

0 голосов
/ 07 октября 2010

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

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

...