Кроссплатформенный сервис WCF - PullRequest
0 голосов
/ 07 марта 2011

Я хочу использовать сервис WCF и использовать его на всех мобильных платформах: iPhone, Android, Blackbery, Nokia и т. Д.

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

Спасибо

Амит

Ответы [ 4 ]

1 голос
/ 07 марта 2011

Я не согласен с SOAP и JSON.Используйте сервис RESTfull с POX (обычный старый xml).Скорее всего, это будет поддерживаться всеми платформами.Мобильные телефоны могут иметь ограниченную реализацию стека SOAP, и JSON обычно используется с браузерами.У моего друга есть BlackBerry, и он постоянно жалуется на поддержку JavaScript.

Для защиты вашего сервиса используйте HTTPS.

0 голосов
/ 07 марта 2011

Чтобы создать службу REST, которая поддерживает XML или JSON, создайте свою службу с помощью этого шаблона , он предназначен для .NET 4.0. Оттуда вы можете настроить конечные точки, которые отвечают в XML или JSON, и позволить вашему клиенту сообщить службе, какой тип ответа он хочет.

РЕДАКТИРОВАТЬ Вы также можете сделать так, чтобы служба отвечала в формате по умолчанию, чтобы каждому клиенту не приходилось указывать какой формат.

<standardEndpoints>
  <webHttpEndpoint>
    <standardEndpoint name="" defaultOutgoingResponseFormat="Json"/>
  </webHttpEndpoint>
</standardEndpoints>
0 голосов
/ 07 марта 2011

Полностью согласен с @Ladislav в том, что клиенты не могут использовать SOAP. Похоже, стеки SOAP отсутствуют, если ваш клиент не является родным .NET или Java. Ваши клиенты будут вам благодарны, предоставив им возможность выбрать JSON (веб-клиенты) или XML (системная интеграция). Защищено через HTTPS и базовую аутентификацию или ключ API.

Если у вас уже есть инфраструктура служб WCF, которую вы хотите объединить или адаптировать для клиентов нижнего уровня, вы можете поставить эту службу POX (или 'REST') перед ними и позволить ей обрабатывать протоколы и форматы сопоставления для вы. например HTTP / S в TCP / IP и XML или JSON в SOAP.

Положительным моментом является то, что клиентам нижнего уровня будет проще использовать ваши услуги. Недостатком является то, что вы добавили дополнительный слой, который вызовет сложность. Некоторые инструменты, такие как Служба маршрутизации WCF (бесплатно) или Apigee (коммерческие) в сочетании с надежным процессом автоматического развертывания, могут помочь уменьшить эту сложность.

0 голосов
/ 07 марта 2011

Используйте конечную точку SOAP или JSON.Большинство платформ будут иметь поддержку для них (или будет легко найти библиотеки).JSON более ориентирован на веб (Javascript), но будет работать и в других ситуациях.

Mono поддерживает WCF, поэтому, возможно, их iPhone и Android также будут поддерживать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...