Ошибка WebService asmx: не удалось установить соединение с сетью - PullRequest
0 голосов
/ 25 ноября 2011

Я asmx WebService в C # с двумя методами. Эта служба была опубликована на внешнем сервере через порт 8088, для подключения к этой службе в брандмауэре я сделал переадресацию портов с xxx.xxx.xxx.xxx:80(router) на 192.168.20.12:8088 В браузере можно подключиться к этому веб-сервису (xxx.xxx.xxx.xxx/Service1.asmx). Теперь я создаю SmartDeviceProject и, когда добавляю этот веб-сервис в WebReference в этом режиме: xxx.xxx.xxx.xxx/Service1.asmx, я получаю эту ошибку: Невозможно загрузить следующие файлы из: xxx.xxx.xxx.xxx:8088/Service1.asmx?wsdl и при добавлении в этом режиме: xxx.xxx.xxx.xxx/Service1.asmx?wsdl service успешно добавьте , но в этом случае в коде:

        public Service1() {
            this.Url = "http://xxx.xxx.xxx.xxx:8088/Service1.asmx";
        }

Когда я выполняю проект, получаю эту ошибку: Не удалось установить соединение с сетью Я получаю эту ошибку, и если удалить весь код порта 8088 из URL.

Кто-нибудь знает, как я могу решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Если я не ошибаюсь, в проектах SmartDevice (т.е. PocketPC) это исключение означает, что у вас нет доступа к сети.

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

1 голос
/ 25 ноября 2011

После создания экземпляра прокси установите свойство Url на правильное значение, так же, как конструктор устанавливает его на неправильное значение:

using (var proxy = new Service1())
{
    proxy.Url = "xxx.xxx.xxx.xxx/Service1.asmx";
    // use the proxy to call operations on the service
}
...