Миграция веб-служб ASP.NET на платформу WCF
Платформа ASP.NET предоставляет библиотеки классов .NET Framework и средства для построения веб-служб, а также возможности для их размещения в службах Internet Information Services (IIS). Windows Communication Foundation (WCF) предоставляет платформа .NET Framework библиотеки классов, инструменты и средства размещения, позволяющие сущностям программного обеспечения взаимодействовать с помощью любых протоколов, включая те, которые используются веб-службами. Перенос веб-служб ASP.NET в WCF позволяет приложениям воспользоваться новыми функциями и улучшениями, уникальными для WCF.
WCF имеет несколько важных преимуществ относительно ASP.NET веб-служб. Хотя ASP.NET средства веб-служб предназначены исключительно для создания веб-служб, WCF предоставляет средства, которые можно использовать, когда сущности программного обеспечения должны взаимодействовать друг с другом. Это позволяет уменьшить число технологий, в которых должен разбираться разработчик, чтобы иметь возможность реализовывать различные сценарии взаимодействия между компонентами программного обеспечения, что, в свою очередь, сокращает стоимость необходимых для разработки ресурсов, а также время реализации проектов по разработке программного обеспечения.
Даже для проектов разработки веб-служб WCF поддерживает больше протоколов веб-служб, чем поддержка веб-служб ASP.NET. Эти дополнительные протоколы позволяют реализовывать более сложные решения, в том числе решения, использующие надежные сеансы и транзакции.
WCF поддерживает больше протоколов для передачи сообщений, чем ASP.NET веб-службам. Веб-службы ASP.NET поддерживают только отправку сообщений с помощью протокола передачи гипертекста (HTTP). WCF поддерживает отправку сообщений с помощью ПРОТОКОЛА HTTP, а также протокола управления передачей (TCP), именованных каналов и очереди сообщений Майкрософт (MSMQ). Более важно, WCF можно расширить для поддержки дополнительных транспортных протоколов. Таким образом, программное обеспечение, разработанное с помощью WCF, можно адаптировать для совместной работы с более широким спектром других программ, тем самым увеличивая потенциальную отдачу от инвестиций.
WCF предоставляет гораздо более широкие возможности для развертывания приложений и управления ими, чем ASP.NET веб-службам. Помимо системы конфигурации, которая также имеет ASP.NET, WCF предлагает редактор конфигурации, трассировку действий от отправителей к получателям и обратно через любое количество посредников, средство просмотра трассировки, ведение журнала сообщений, огромное количество счетчиков производительности и поддержку инструментирования управления Windows.
Учитывая эти потенциальные преимущества WCF относительно ASP.NET веб-служб, если вы используете или рассматриваете возможность использования ASP.NET веб-служб, у вас есть несколько вариантов:
Продолжайте использовать ASP.NET веб-службы и забыли о преимуществах, предоставляемых WCF.
Продолжайте использовать веб-службы ASP.NET с намерением принять WCF в некоторое время в будущем. В разделах этого раздела объясняется, как максимизировать перспективы использования новых приложений веб-службы ASP.NET вместе с будущими приложениями WCF. В разделах этого раздела также объясняется, как создать новые веб-службы ASP.NET, чтобы упростить их перенос в WCF. Тем не менее, если требуется обеспечение безопасности служб или надежность или гарантии транзакций, или если необходимо создать пользовательские средства управления, то лучше использовать WCF. WCF предназначен для точно таких сценариев.
Применяйте WCF для новой разработки, продолжая поддерживать существующие ASP.NET веб-службы. Этот вариант с большой вероятностью может быть оптимальным. Это дает преимущества WCF, а также экономит затраты на изменение существующих приложений для его использования. В этом сценарии новые приложения WCF могут совместно существовать с существующими ASP.NET приложениями. Новые приложения WCF смогут использовать существующие веб-службы ASP.NET, а WCF можно использовать для программирования новых операционных возможностей в существующие ASP.NET приложения в силу режима совместимости WCF ASP.NET.
Внедрение WCF и перенос существующих приложений веб-службы ASP.NET в WCF. Этот вариант можно выбрать, чтобы улучшить существующие приложения с функциями, предоставляемыми WCF, или воспроизвести функциональность существующих веб-служб ASP.NET в новых, более мощных приложениях WCF.
Примечание.
Если служба WCF размещается службой IIS 5.x и ASP.NET удаляется. Если служба WCF размещается службой IIS 5.x, код службы можно запросить, если ASP.NET удаляется. При удалении ASP.NET в операционной системе, работающей под управлением IIS 5.x и WCF, файл с расширением SVC считается текстовым файлом, а содержимое, включая любой исходный код, возвращается в запрашивающий объект.
В этом разделе подробно описаны эти параметры, сравниваются ASP.NET веб-службы с WCF и приводятся инструкции по переносу кода веб-служб ASP.NET в WCF.
См. также
- Планирование перехода на платформу Windows Communication Foundation: упрощение будущей миграции
- Планирование перехода на платформу Windows Communication Foundation: упрощение будущей интеграции
- Переход на платформу Windows Communication Foundation
- Сравнение веб-служб ASP.NET с веб-службами на основе WCF по назначению и используемым стандартам
- Сравнение веб-служб ASP.NET с веб-службами на основе WCF по процессу разработки