.Net & WCF - Как создать REST вместо SOAP? - PullRequest
3 голосов
/ 13 февраля 2011

Я создал пару сервисов, но все они работают как мыльные веб-сервисы и возвращают мыльные сообщения.

1 - Как я могу сделать мой проект wcf спокойным вместо мыла?

2- Как я могу заставить все сервисы возвращаться и ожидать json вместо xml?

Ответы [ 3 ]

5 голосов
/ 13 февраля 2011

Вам нужно сделать как минимум две вещи:

  • украсить ваши контракты на операции (методы обслуживания) с атрибутом WebGet или WebInvoke и определить шаблон URI

  • определяет конечную точку службы, которая использует webHttpBinding и определенное webHttp поведение конечной точки

Кроме этого - вам действительно не нужносделать что-нибудь, чтобы запустить службу REST.

Имейте в виду: это просто «выставление» ваших текущих методов SOAP как REST - это не «правильный» стиль программирования REST.Для этого вам нужно с самого начала проектировать свой сервис как RESTful.

SOAP обычно использует сообщения и методы - например, GetCustomer, GetBalance и т. Д.

REST, с другой стороны, думает о ресурсах - у вас есть ресурс Customer, а при выдаче HTTP GET для этого ресурса URI получает клиента, PUT вставит нового клиента, POST обновит существующего клиентаи DELETE (все HTTP-глаголы) удалит вашего клиента.Таким образом, в правильном REST вы не думаете о методах и процедурах - вы думаете о том, как раскрыть ресурсы и сделать их доступными для потребителя вашей услуги.

1 голос
/ 28 февраля 2011

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

Но перед тем, как вы это прочитаете, я рекомендую просмотреть в разделе модели веб-программирования WCF , поскольку он строит некоторые основополагающие концепции, которые были бы полезны для понимания JSON-enablement / AJAX-enablement темы WCF описаны позже.

Надеюсь, это поможет!

1 голос
/ 13 февраля 2011

Другой пример службы и клиента WCF REST / Json можно найти в моем ответе на вопрос «Конфигурация клиента для использования веб-службы WCF JSON» .

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