Служба WCF WindowsPhone - EndpointNotFoundException - PullRequest
0 голосов
/ 14 февраля 2012

Я разрабатываю решение в рамках WCF Service и клиентского приложения Windows Phone. Проблема в том, что я не могу подключиться к сервису, даже если в эмуляторе при вводе адреса службы в Internet Explorer я получаю правильный результат. Мой конфигурационный файл:

<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IMyCustomService" 
                         maxReceivedMessageSize="2147483647" 
                         maxBufferSize="2147483647" 
                         enableHttpCookieContainer="true"
                          />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:2395/MyCustomService.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyCustomService"
                contract="MyService.IMyCustomService" name="BasicHttpBinding_IMyCustomService" />
        </client>
    </system.serviceModel>
</configuration>

Мой сервисный интерфейс:

[ServiceContract]
[ServiceKnownType(typeof(CustomResponse))]
public interface IMyCustomService
{
        [OperationContract]
        CustomResponse GetData();
}

Моя проблема заключается в том, что каждый раз, когда я пытаюсь вызвать метод GetDataAsync () прокси-клиента, завершенное событие не запускается, и я получаю «EndpointNotFoundException». Я перепробовал все решения, которые нашел, и никто из них не помог мне. Я также пытаюсь сделать тестовый клиент WPF, и он работает правильно, а приложение Windows Phone - нет.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Я предполагаю, что это ваша клиентская конфигурация, например телефон.Ваше указание на localhost, но поскольку вы находитесь в эмуляторе на телефоне, localhost разрешает то же самое, а не ваш компьютер, на котором размещена служба.

address="http://localhost:2395/MyCustomService.svc" 

Поместите туда имя хоста вашего ПК, и все будет в порядке

0 голосов
/ 15 февраля 2012

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

...