MVC2 или WCF для API XML / JSON REST? - PullRequest
5 голосов
/ 16 июня 2010

Я потратил много времени, изучая, как настроить WCF с точки зрения добавления аутентификации и т. Д. Через службу RESTful; Я построил несколько пользовательских хостов службы, затем добавил возможность использовать контейнер IOC для фактического создания экземпляра службы и т. Д. И т. Д.

У нас есть приложения для iPhone / iPad, а также некоторые другие гаджеты (технический термин!), Которые сейчас используют их (XML на i-платформе, JSON для браузеров), и я очень доволен производительностью и простотой с помощью которого мы можем добавлять новые операции и т. д.

Я изучил все недостатки сериализаторов DataContract (и теперь использую их в единичных случаях для чтения / записи объектов за пределами WCF) и после этого крутого обучения, но теперь, когда они у нас есть, я очень доволен ими всеми .

Теперь у нас есть ряд новых веб-проектов, для которых я воспользовался шансом использовать MVC - и был приятно впечатлен этим; модель привязки, в частности, действительно пинает задницу.

Сейчас я смотрю на похожие API-интерфейсы RESTful для этих веб-проектов (все они будут похожими сайтами, но с разным брендингом и незначительными изменениями в бизнес-логике в зависимости от пользовательских потребностей). Первоначально я ожидал, что вся эта работа над WCF поможет нам в этом, но у MVC есть свой собственный путь разработки для RESTful XML / JSON, и теперь я попал между ними.

Если вы пишете сайт MVC, будете ли вы когда-либо использовать WCF для реализации его REST API?

Я приведу один аргумент для использования WCF - что, при правильном написании, он может быть изолирован для запуска в качестве службы Windows без необходимости в веб-сервере. Однако это похоже на отчаянный случай!

Обновление

Я должен сказать, что теперь я реализовал 3 отдельных больших REST-сервиса с использованием MVC 2 и 3, и работать с ним очень приятно. Я написал связыватели моделей, чтобы обернуть DataContractSerializer WCF для XML, и, конечно, поддержка JSON просто великолепна. Я не вернусь сейчас.

Ответы [ 2 ]

5 голосов
/ 16 июня 2010

Я никогда не использовал WCF, но в настоящее время я использую MVC2 для реализации REST API.

По большей части это хорошо подходит, но есть некоторые пробелы, и это связано с некоторой кривой обучения. Мне нужно было использовать MVCContrib для лучшей поддержки XML. Я использовал фьючерсы MVC для поддержки отправки объекта JSON в метод действия (см .: http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx).. Мне также нужно было взять исходный код для этого и изменить его так, чтобы он мог поддерживать XML.

Я слышал, что есть некоторые REST-фреймворки, расположенные поверх .NET MVC, но у меня не было возможности опробовать их.

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

3 голосов
/ 17 июня 2010

Я довольно давно использовал WCF для выполнения REST, и я бы рекомендовал использовать MVC.Если вы хотите иметь дело только с XML и Json и если ваше URI-пространство относительно простое, вы, вероятно, могли бы обойтись с WCF.Однако, как только вы выйдете из базовых вещей, вам нужно будет хорошо знать WCF, чтобы обойти его поведение по умолчанию.

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