Когда и где я должен использовать WCF - PullRequest
7 голосов
/ 07 июля 2011

Я прошел несколько онлайн-уроков, в которых рассказывается о преимуществах WCF, о том, как создать сервис / клиент и т. Д.

Однако я хочу узнать небольшую общую картину.

Вопрос> Какое приложение или какие функции в приложении требуют от меня использования функций WCF?Конкретный пример должен помочь мне лучше.

Ответы [ 3 ]

13 голосов
/ 07 июля 2011

Есть несколько ситуаций, которые «требуют» WCF. Во-первых, следует отметить, что слово «require» - это сильное слово, в то время как WCF является текущей предпочтительной моделью для обмена данными в .NET, платформа имеет историю других методов, которые все еще поддерживаются.

Конкретный пример 1 : Ваше веб-приложение работает плохо, потому что некоторая вычислительная работа по подготовке ответа является «вычислительно дорогой» и потребляет процессор. Вы хотите переместить часть расходов в службу, которая работает в другом окне, где вы можете предоставить ей изолированные ресурсы. Вы создаете службу WCF, которая оборачивает функциональность, и развертываете эту службу в другом боксе, используя прокси-класс для доступа к нему по сети.

Конкретный пример 2 : Вашему приложению Windows необходим доступ к ресурсам, находящимся за брандмауэром, в которые пользователи не могут проникнуть. Таким образом, вместо этого вы выбираете развертывание службы в демилитаризованной зоне, которую приложение может использовать и которая из демилитаризованной зоны получает доступ к ограниченному материалу и возвращает результаты в ваше приложение.

WCF - это мощный инструмент, который делает невероятные вещи, помогая разработке сервисов, особенно когда вы разрабатываете сервисы на основе SOAP. С другой стороны, многие считают, что в настоящее время более простой способ написания сервисов RESTful - это сделать с помощью ASP.NET MVC WebAPI. WebAPI начинался как проект команды WCF, но в конечном итоге был переведен в MVC по ряду причин. Если вы заинтересованы в REST, я бы порекомендовал посмотреть на WebAPI.

2 голосов
/ 07 июля 2011

Думайте о WCF как о способе проецировать сервисы (функциональные возможности) вашего приложения через границы, которые традиционно было очень трудно пересечь.HTTP (S) является одним из способов включить это.Примите во внимание принципы REST, и вы получите довольно элегантные решения, которые очень функциональны.Службы на основе WCF также обеспечивают большую гибкость при развертывании решения в различных средах.Это также влияет на нефункциональные элементы, такие как безопасность и масштабирование, а также масштабирование обсуждений.

2 голосов
/ 07 июля 2011

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

Вы можете использовать WCF для простого создания программ, которые взаимодействуют, будь то между процессами, серверами или во всем мире.1003 *

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