2013-06-24 2 views
0

У меня есть служба WCF, работающая с моим клиентом. У меня есть эмулятор Azure Compute Emulator, запущенный на моем другом устройстве, на котором размещается сервис. Так что предназначено только для локального тестирования, я добавил перенаправление порта для локального порта, используяПолучение ошибки WCF-служба Конечная точка не найдена, когда она есть

netsh interface portproxy add v4tov4 listenport=81 listenaddress=192.168.1.100 connectport=81 connectaddress=127.0.0.1 

Это прекрасно работает, как я могу импортировать ссылки на службу из серверного устройства. Тем не менее, когда я запускаю свое приложение, инициализируйте ссылку на службу с помощью нового ServiceReference1.ServiceClient() и попробуйте вызвать первый его метод, я получаю исключение EndpointNotFoundException.

Вот особенности:

  • Локально, подключающиеся к 192.168.1.100:81 работ и я могу использовать то же программное обеспечение клиента есть.
  • Я создал новый проект WinForms (моя цель для клиента - WinRT), добавил ссылку на службу и вызвал метод, и он WORKED (также с удаленного устройства).

Так что в данном случае дело в том, что только этот один экземпляр служебной ссылки (который я попытался удалить и добавить - опять же, импортировал ссылку на службу!) Не работает. Отладчик просто бросает EndpointNotFoundException (исключение содержит правильный IP и порт 192.168.1.100:81) при первом вызове метода службе, поэтому мне трудно отлаживать его дальше.

Код для вызова метода точно такой же (т.е. инициализируйте новым и вызовите клиентский метод без параметров). Любые идеи, что может вызвать это?

+0

ОК, так что это странно. Предоставляет ли ссылка службы WinRT дополнительные проверки по сравнению с консольным приложением? Консольная версия, которую я запускаю, работала великолепно, и вызовы прошли, но когда я создаю ссылку на службу для пустого приложения WinRT, я получаю ошибку конечной точки, аналогичную той, которую я получаю в своем приложении. – Muhwu

ответ

0

Хорошо, я узнал, что вызвало это. Поскольку я только развивался локально, у меня не было этой проблемы раньше (и когда я был развернут на Azure), но, видимо, работая в локальном контексте, таком как мой, требуется работать «Private Networks (сервер &)». Конечно, было бы лучше получить ошибку, соответствующую этой проблеме, но, по крайней мере, она уже решена.

Любая идея, почему эта возможность отделена от возможности «Интернета»?