Когда целесообразно использовать WCF поверх веб-клиента или httpwebrequest? - PullRequest
5 голосов
/ 08 апреля 2009

Я пытаюсь понять, когда использовать службы WCF, а не просто использовать webclient или httpwebrequest. Думаю, я также пытаюсь понять разницу между шаблонами проектирования, подходящими для обоих.

Ответы [ 2 ]

3 голосов
/ 08 апреля 2009

Вы говорите о том, когда создавать службу WCF самостоятельно (через веб-службу) или когда использовать существующую веб-службу, используя WCF вместо клиентов .NET 2.0 ASMX?

Что касается создания службы WCF самостоятельно:

  • Предоставляет вам гораздо больше возможностей с точки зрения хостинга (в приложении, Windows Service, IIS, WAS)
  • Дает вам гораздо больше возможностей безопасности
  • Предоставляет вам намного больше опций протокола (помимо только HTTP, вы также можете использовать WS- *, TCP, Named Pipes, MSMQ и другие)
  • Позволяет вам написать свой сервис один раз и выставить его на нескольких конечных точках с разными протоколами одновременно

Что касается использования WCF для связи с существующим веб-сервисом HTTP (ASMX) - я не вижу большого количества значительных преимуществ, за исключением того, что WCF использует больше конфигурации, чем кода, и может быть полезно стандартизировать один из в любом случае, если вы уже используете другие сервисы WCF.

Марк

0 голосов
/ 08 апреля 2009

В настоящее время я использую WCF для большинства вещей, которые я использовал в прошлом для WebClient или HttpWebRequest / HttpWebResponse. Хотя определенно есть издержки на то, чтобы научиться делать вызовы веб-методов с использованием WCF, расширяемость WCF и предоставляемая им абстракция делают его НАМНОГО лучшим кандидатом для этих типов вызовов.

Я уже использовал его, чтобы довольно легко совершать звонки в Akismet и RPX.

Для начала я посмотрю раздел документации MSDN под названием «Объектная модель веб-программирования WCF», расположенный по адресу:

http://msdn.microsoft.com/en-us/library/bb412204.aspx

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