2015-02-11 2 views
0

Мое настольное приложение (WPF-сервер) хочет общаться с Windows Phone с помощью WCF. Я предпочитаю .net tcp.WCF на Windows Phone

Мне кажется, мне нужны три проекта, а именно WPF server, WP client, Contracts. Проект контрактов - это библиотека классов Windows Phone, ориентированная на WP8.0. Проект контрактов определяет два класса: interface IPhone и class PhoneClient: ClientBase<IPhone>, IPhone. Целью клиента WP также является 8.0. Сервер WPF ссылается на Контракты.

В Visual Studio отсутствует ошибка в проекте сервера WPF. Но когда я создаю сервер WPF, VS говорит

не смог найти System.ServiceModel, Version = 2.0.5.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35

. Ошибка возникает при использовании PhoneClient.

Как я могу решить проблему? Поддерживается ли WCF в Windows Phone?

ответ

1
  1. ФОС definitelly поддерживается на Windows Phone
  2. После библиотека контракта не требуется. Если вы создаете wcf-сервер, вы можете добавить ссылку на службу в проект телефона Windows и визуальную студию, она автоматически создаст для вас классы данных.
  3. Если вы хотите поделиться библиотекой данных и контрактов между приложениями wpf и wp, вы должны выбрать портативную библиотеку, а не библиотеку классов wp или wpf.
  4. Контрактная библиотека не должна содержать выполнение контракта на обслуживание, который является классом PhoneClient в вашем случае. Он должен содержать только служебный интерфейс и классы данных-контрактов (входные и выходные данные метода).
  5. Я не знаю, как вы получите сообщение об ошибке, но System.ServiceModel, Version = 2.0.5.0 является старым. Убедитесь, что вы добавили ссылку на последнюю версию сборки System.ServiceModel в проектах wpf и wp. В библиотеке контракта не требуется
+0

Портативная библиотека - ключевой момент! И я узнаю, что WP не имеет NettcpBinding, и, похоже, только BasicHttpBinding. – Gqqnbig

+0

Кроме того, Silverlight поддерживает только асинхронный вызов. – Gqqnbig

Смежные вопросы