Миграция веб-служб ASP.NET на платформу WCF
Платформа ASP.NET предоставляет библиотеки классов .NET Framework и средства для построения веб-служб, а также возможности для размещения служб в службах 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 включает редактор конфигураций, трассировку действий на пути от отправителей к получателям и обратно через произвольное число посредников, средство просмотра трассировки, ведение журнала сообщений, большое число различных счетчиков производительности и поддержку инструментария WMI.
С учетом этих потенциальных преимуществ 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 смогут использовать существующие веб-службы, а технологии 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 по процессу разработки