WCF => MVC as ASP.NET WebServices => ASP.NET Web Apps - PullRequest
1 голос
/ 21 апреля 2011

Я был парнем .NET с самого начала в моей карьере, но в рамках своего опыта работы мне еще предстоит выйти в мир WCF или MVC. Я думаю, что разница в том, что в отношении WCF и MFC больше основаны на соглашениях, поправьте меня, если я ошибаюсь.

Но что меня действительно интересует, так это: правильно ли говорить, что WCF относится к MVC, как обычные веб-службы ASP.NET к обычным веб-приложениям ASP.NET? Как, например, WCF и MVC должны использоваться вместе, а обычные веб-службы ASP.NET и обычные веб-приложения ASP.NET должны использоваться вместе? Или это нормально, чтобы смешать любую комбинацию из 4?

Кроме того, почему бы не захотеть перейти на WCF и / или MVC?

Ответы [ 5 ]

2 голосов
/ 21 апреля 2011

Нет, эта аналогия неверна, и да, вы можете смешивать и сочетать технологии.

WCF против веб-сервисов

Windows Communication Foundation - это инфраструктура для создания сервис-ориентированных приложений, которая обрабатывает множество задач для вас из коробки (безопасность, транзакции, надежность, взаимодействие и т. Д.). Это гораздо больше, чем просто веб-сервисы, хотя он очень хорошо работает с веб-сервисами. Так что на самом деле очень мало сравнения с веб-сервисами, WCF намного лучше.

MVC против веб-форм

Оба варианта являются жизнеспособными, оба имеют относительные сильные и слабые стороны. Они также не являются взаимоисключающими. Вы НЕ хотите «обновлять» (это не обновление, а изменение) до MVC, если ваше приложение отлично работает на веб-формах, и ваша команда разработчиков продуктивно работает на этой платформе. В этом случае изменения в реальном мире не принесут никакой пользы.

Если, однако, вы начинаете новый проект, то вам нужно взглянуть на свою команду разработчиков и принять решение, основываясь на их наборе навыков. Лично, если моя команда разработчиков имеет опыт работы с MVC, я выбираю MVC, но это не значит, что с веб-формами что-то не так.

2 голосов
/ 21 апреля 2011

MVC - это конвенционный подход к веб-приложениям ASP.NET.Я думаю, что вы правы там.

Эта аналогия не проводится между веб-службами ASP.NET и WCF, IMO.

И веб-службы ASP.NET, и WCF являются парадигмами программирования, основанными на соглашениях.Например, обе платформы будут соответствовать вашему вызову SOAP реализации метода на основе имени.Оба будут сериализовать данные в полезной нагрузке для вашей объектной модели на основе структуры и имен полей и т. Д.

WCF предоставляет унифицированную модель программирования для различных типов транспорта - TCP, именованных каналов, MSMQ, HTTP и т. Д. Он дает вамбольше контроля над тем, как ваш сервис размещен.Это дает вам больше контроля над тем, как кодируется полезная нагрузка.

Я думаю, было бы более правильно сказать, что WCF - это объединение .NET Remoting и ASP.NET WebServices с существенными улучшениями в точках расширения.

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

2 голосов
/ 21 апреля 2011

Это неправильно.

WCF - это больше, чем веб-сервисы.ASP.NET MVC в основном используется для Интернета.

1 голос
/ 21 апреля 2011

Я не думаю, что между соответствующими парами технологий существует аналогичная связь.

Windows Communication Foundation - это платформа для отправки и получения данных по сетевому каналу, которая поддерживает несколько транспортных и прикладных протоколов.Сравните это с веб-службами ASP.NET, которые действительно поддерживают только RPC через HTTP (S).

ASP.NET MVC - это платформа веб-приложений, представляющая реализацию Microsoft шаблона проектирования Model-View-Controller.Так что, на самом деле, это своего рода специализированный тип веб-приложений ASP.NET, а не замена (или аналог) веб-приложений ASP.NET.

0 голосов
/ 29 апреля 2011

Нет, не совсем, только в том смысле, что WCF и MVC являются более новыми технологиями.

WCF - это комплексная коммуникационная среда, которая включает в себя и заменяет старые веб-службы ASP.NET. Он не имеет прямого отношения к MVC. Если завтра вы создаете приложение-службу с нуля, вы бы использовали WCF.

ASP.NET MVC и ASP.NET Web Forms - это два разных подхода к созданию веб-приложений. MVC «идет в ногу» с сетью, ориентируясь на URI, а веб-формы пытаются скрыть природу сети, создавая модель программирования с сохранением состояния, подобную WinForms. То, что вы выберете для использования, будет зависеть от характера вашего приложения и навыков ваших разработчиков.

...