Зачем использовать WCF REST, если у вас есть JsonResult в ASP.NET MVC? - PullRequest
4 голосов
/ 21 марта 2011

Я создаю приложение ASP.NET MVC и до сих пор считаю себя новичком в ASP.NET MVC.Я пришел из опыта REST в WCF, поэтому я изначально настроил ряд сервисов, которые мой клиент на основе jQuery будет вызывать через запросы RESTful AJAX.Как я узнал больше о ASP.NET MVC, я обнаружил тип ActionsonResult JsonResult, и я могу просто добавить эти методы в контроллер, и он ведет себя так же, как мои RESTful-сервисы WCF.

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

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 21 марта 2011

Не все создают приложения ASP.NET MVC .... не все даже создают ASP.NET в любой форме.

WCF REST - это сервисная технология, полностью независимая от ASP.NET или сети, - вы можете иметь WCF REST-сервисы без IIS.

1 голос
/ 02 мая 2012

Хотя технически верно, что REST! ​​= HTTP, большинство служб REST используют HTTP.И Microsoft объединяет свой стек WCF HTTP / REST с ASP.Net.Проверьте эту страницу с сайта кодекса WCF:

http://wcf.codeplex.com/wikipage?title=WCF%20HTTP

И эта страница

http://wcf.codeplex.com/discussions/319671

В результате этого, есливы хотите получить самую свежую поддержку HTTP REST, вам определенно следует перейти на новый веб-API ASP.Net, который поставляется с ASP.Net MVC 4.

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

Кроме того, если у вас есть какие-либо инвестиции в WIF с вашими существующими службами WCF (например, пользовательские классы диспетчера аутентификации / авторизации, пользовательский токен)обработчики и т. д.) они легко перейдут из WCF в ASP.Net.

Наконец, MVC 4 с открытым исходным кодом и принимает участие сообщества, поэтому он будет быстрым и качественным,и риск того, что РС откажется от вас, прекратит работу, намного меньше.

1 голос
/ 01 мая 2012

В вашем случае, я бы пошел с MVC для моей реализации REST, но чтобы ответить на ваш вопрос:

MVC ASP.Net построен только для HTTP.ОТДЫХА нет.Передача состояния представления, или REST, хотя чаще всего определяется по HTTP, не ограничивается HTTP .WCF позволяет вам общаться через соединения, отличные от HTTP.

Помимо этого, я бы согласился, что проще и надежнее реализовать REST в MVC и особенно в более новых материалах веб-API MVC, но это сказало:REST имеет свое место и в WCF, потому что WCF может работать самостоятельно без HTTP.

РЕДАКТИРОВАТЬ: Также следует отметить, что WCF может работать самостоятельно без IIS.

...