Переход на платформу Windows Communication Foundation
Можно использовать Windows Communication Foundation (WCF) для новых разработок, продолжая поддерживать существующие приложения, разработанные с использованием ASP.NET. Поскольку среда WCF рассчитана на то, чтобы быть самым подходящим выбором для обеспечения взаимодействия с приложениями, созданными с помощью платформы .NET Framework в любом сценарии, она может выполнять роль стандартного инструмента для решения широкого круга проблем обмена данными между программами способами, недоступными в ASP.NET.
Новые приложения WCF можно разворачивать на тех же компьютерах, что и существующие веб-службы ASP.NET. Если существующие веб-службы ASP.NET используют платформу .NET версии ниже 2.0, можно с помощью программы регистрации IIS для ASP.NET селективно развернуть платформу .NET Framework 2.0 для приложений IIS, в которых будут размещаться новые приложения WCF. Документация на этот инструмент приведена в документе ASP.NET IIS Registration Tool (Aspnet_regiis.exe), а пользовательский интерфейс встроен в консоль управления IIS 6.0.
Платформу WCF можно использовать для добавления новых функций к существующим веб-службам ASP.NET путем добавления служб WCF, настроенных для работы в режиме совместимости с ASP.NET, в существующие приложения веб-служб ASP.NET в IIS. В режиме совместимости с ASP.NET код новых служб WCF может получать доступ и обновлять ту же информацию о состоянии приложения, что и ранее существовавший код ASP.NET, за счет использования класса HttpContext. Приложения могут также совместно использовать одни и те же библиотеки классов.
Клиенты WCF могут пользоваться веб-службами ASP.NET. Службы WCF, настроенные с BasicHttpBinding, могут использоваться с клиентами веб-служб ASP.NET. Веб-службы ASP.NET могут сосуществовать с приложениями WCF, и WCF можно использовать даже для добавления функций в существующие веб-службы ASP.NET. Благодаря наличию всех этих способов совместного использования WCF и веб-служб, миграция веб-служб ASP.NET в WCF может потребоваться только в случае, если нужны функции, предоставляемые WCF и отсутствующие в веб-службах ASP.NET.
Однако в тех редких случаях, когда миграция необходима, следует учитывать, что перенос кода из одной технологии в другую редко является правильным подходом. Причина перехода на новую технологию заключается в необходимости удовлетворения новых требований, которые невозможно удовлетворить в рамках предыдущей технологии, поэтому в таком случае правильнее будет разработать новое решение, соответствующее новому расширенному набору требований. Новая разработка позволяет учесть опыт работы с существующей системой и знания, накопленные с момента создания этой системы. Новая разработка также позволит использовать все возможности новой технологии, а не просто воспроизводить старую систему на новой платформе. После создания прототипов ключевых элементов новой разработки будет проще заново использовать код существующей системы в новой системе.
Для немногочисленных случаев, когда правильным решением будет перенос веб-служб ASP.NET на платформу WCF, в последующих разделах приведены некоторые рекомендации. Приводятся рекомендации о порядке миграции служб и порядке миграции клиентов.
Полный анализ способов миграции существующих веб-служб ASP.NET в WCF см. в документе ASP.NET Web Services and the Windows Communication Foundation. В данном разделе описывается порядок реализации совместимой службы WCF на основе метаданных для веб-службы ASP.NET, а также порядок миграции кода веб-службы и клиента ASP.NET в WCF.
См. также
Задачи
Как извлечь метаданные и реализовать совместимую службу
Практическое руководство. Миграция кода веб-службы ASP.NET на платформу Windows Communication Foundation
Практическое руководство. Миграция кода клиента веб-службы ASP.NET на платформу Windows Communication Foundation