Веб-служба ASP.NET против службы WCF - PullRequest
1 голос
/ 20 апреля 2010

Сценарий: у меня есть существующий сайт https ASP.NET, к которому я собираюсь добавить несколько новых удаленных сервисов. Сервисы предоставляют расчеты, которые необходимо вызывать как с помощью методов AJAX на сайте, так и с помощью настольного приложения .NET.

Для этого я использовал ASP.NET WebServices (помеченный атрибутом ScriptService). Я только недавно обнаружил WCF.

Насколько я понимаю, кажется, что главная вещь, которую служба WCF могла бы предложить по сравнению с простой старой веб-службой .NET в этом случае, - это возможность подключения через различные другие каналы связи, такие как очередь сообщений и COM +, по линии связи. Я никогда не видел, чтобы это случилось с этим проектом.

Так скажи мне, почему еще я должен рассмотреть WCF?

Ответы [ 2 ]

4 голосов
/ 21 апреля 2010

WCF предлагает очень настраиваемую платформу;практически любая часть стека WCF может быть заменена вашими собственными компонентами.Изменение протокола связи - это только верхушка айсберга.Этот дизайн позволяет выполнять вещи, которые вы не могли бы легко сделать с помощью веб-служб ASP.NET.

Например, я недавно написал компонент аудита, который прослушивает передачи запроса-ответа в службе WCF иликлиент, и записывает их все в базу данных аудита.WCF предоставляет точки расширения для перехватчиков сообщений для доступа к сообщениям и выполнения над ними операций, пока они все еще являются XML.Таким образом, я написал около 100 строк кода, чтобы выполнить то, что хотел.

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

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

4 голосов
/ 20 апреля 2010

Даже если вы в настоящее время не планируете добавлять различные конечные точки службы, вы не должны исключать это как возможность. Вы никогда не знаете, что кому-то может понадобиться в будущем.

Тем не менее, если веб-служба .NET отвечает вашим потребностям и вам не нужны дополнительные преимущества, которые добавляет WCF (простое переключение конечных точек, более тесно интегрированная стандартная безопасность и т. Д.), То не используйте оба варианта.

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

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