2016-03-20 4 views
1

Я пытаюсь создать главную UWP приложение для связи со службой по выполнить этот шагUWP с WCF службы

1.Create Blank App из UWP

2.Create Window Service Application (Создать в растворе в настоящее время решение будет иметь 2 проекта)

3.In ссылки в главном приложении Добавить ссылку на службу

4.Discover, а затем изменить имя, чтобы быть чем-то (на этот раз I пользователь ToDoService)

5.Создание кода для вызова в основном PS. Я с помощью кнопки, которые создают перед тем

private void button_Click(object sender, RoutedEventArgs e) 
    { 
     ToDoService.Service1Client client = new ToDoService.Service1Client(); 
     MessageDialog x = new MessageDialog(client.GetDataAsync(10).Result); 
     client.CloseAsync(); 
     x.ShowAsync(); 
    } 

Когда я запускаю это приложение ОК, пока не нажать на кнопку, и это катастрофа Кто-нибудь знает, что это проблема с этим

+0

Вы пытались дождаться метода async? –

+0

Невозможно воспроизвести вашу проблему. Я могу успешно работать, когда [picture] (http://i.stack.imgur.com/pbvLt.png) показывает. Какая ошибка была выбрана при сбое? Попробуйте создать свое приложение WCF и повторите попытку. –

+0

@Sunteen Я могу запустить его на локальном компьютере успешно, но не в реальном устройстве (я использую оконный телефон и запускаю его) –

ответ

1

Я могу запустить его на успешно, но не локальной машине в реальном устройстве (я использую окно телефон и запустить на нем)

Вы можете подключиться к службе WCF в вашей локальной машине ПК, это потому, что ваше локальное приложение по умолчанию WCF службы обливало по IIS Express и имеют служебный адрес по умолчанию, такой как http://localhost: .... Таким образом, ваш клиент на локальном компьютере может запустить службу WCF, развернутую на локальном компьютере, путем добавления адреса по умолчанию. Но когда вы запускаете своего клиента на реальном телефонном устройстве Windows, ваша служба WCF не развертывается на вашем устройстве, как ваш клиент подключается к службе WCF по адресу localhost?

Если вы хотите, чтобы правильно вызвать службу WCF на реальном устройстве, вы можете publish службу WCF и установить правильный адрес конечной точки клиента в приложении и убедитесь, что ваш брандмауэр не блокирует порт службы

+0

Могу ли я спросить что-нибудь. Как установить правильную конечную точку адрес клиента в приложении –

+0

Адрес конечной точки - это то, что развернул адрес вашего WCF. Например, я установил адрес как [picture] (http://i.stack.imgur.com/V7OcB.png)! , потому что я развернул свою службу wcf на сервере 10.168.174.97. В этом вопросе мы говорим о том, почему он не смог подключить службу wcf, если у вас все еще есть новые вопросы, например, как развернуть службу wcf, пожалуйста, для получения нового обучения или открытия нового потока. –