Я потратил много времени, изучая, как настроить 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 просто великолепна. Я не вернусь сейчас.