2010-08-17 3 views
4

Буду признателен, если кто-то может дать некоторое представление о том, какой из них более выгоден.WCF Rest Service или ASP.NET MVC-контроллеры/действия?

Служба RESTful в WCF может обеспечивать такую ​​же функциональность, как и ASP.Net MVC Controller, т. Е. URLS могут быть сформированы соответствующим образом с помощью Controller/Action.

Есть ли реальная польза от использования одного над другим.

WCF Остальной сервис предоставит .. 1) Cert Authentication из коробки 2) Лесозаготовки 3) Заголовки сообщений и т.д.

MVC 1) Различные действия Результаты из коробки

Если кто-то использовал или обсуждал эти две технологии. пожалуйста, дайте мне знать

UPDATE:

Я пошел вперед с MVC модель, поскольку это дает мне большую гибкость, и я могу использовать те же действия, чтобы сделать различные точки зрения с CustomActionInvoker, что действительно круто !!!

-rN

ответ

0

WCF делает ваш сервис более управляемым и предлагает больше вариантов протоколов, таких как TCP, Named Pipes, PerChannel и MSMQ.

+0

Я не уверен, что вы можете использовать Tcpbinding с WCF. Rest специально использует webhttpbinding. Возможно, я ошибаюсь, но – Ben

+0

@Ben Нет, вы не ошибаетесь. –

+0

Вы, должно быть, ошибаетесь. Вы можете использовать netTcpBinding с WCF. См. Этот http://msdn.microsoft.com/en-us/library/ff647180.aspx#Step4 – 2010-08-18 02:29:01

0

WCF дает вам возможность указать несколько методов привязки к сервису через web.config, включая остаточные URL-адреса, что дает вам большую гибкость. В режиме контраста mvc предоставляет вам возможность легко создавать релевантные URL-адреса и выводить данные по коду во многом так же, как и в веб-приложении, что очень просто и требует минимальных дополнительных знаний, если вы уже знаете mvc.

Моей рекомендацией было бы пойти с wcf, если услуга действительно важна для общего решения, которое может быть вызвано другим или многими способами или имеет или может иметь особые требования безопасности.

С другой стороны, я бы пошел mvc, если это предназначено для быстрого и простого изолированного решения или, возможно, просто предоставляет другое представление данных, выводимых в существующем приложении .net mvc.

0

На данный момент ваш лучший вариант - ASP.NET MVC. Он обеспечивает более чистый доступ к HTTP-примитивам, которые необходимы для разработки решений RESTful.

Единственными значительными преимуществами WCF Rest являются возможность самостоятельной установки службы и если вы хотите использовать службы данных ADO.NET для доставки служб OData/Atom, то, очевидно, WCF - ваш лучший выбор.

+0

Простите меня, если это очевидно, но с помощью «self-host» это в основном означает, что вам не нужно IIS? –

+0

@SpencerRuport Исправить. Несмотря на то, что пейзаж изменился после этого ответа из-за внедрения Web API –

Смежные вопросы