Migración de los servicios web ASP.NET a WCF

ASP.NET proporciona bibliotecas de clases y las herramientas de .NET Framework para compilar servicios web, así como funciones para hospedar servicios dentro de Internet Information Services (IIS). Windows Communication Foundation (WCF) proporciona bibliotecas de clases de .NET Framework, herramientas y funciones de hospedaje para que las entidades de software se comuniquen mediante cualquier protocolo, incluidos los que usan los servicios web. La migración de servicios web ASP.NET a WCF permite que las aplicaciones se beneficien de las nuevas características y mejoras que son exclusivas de WCF.

WCF cuenta con varias ventajas importantes relativas a los servicios web ASP.NET. Mientras que las herramientas de estos servicios web ASP.NET solo sirven para compilar servicios web, WCF proporciona herramientas que pueden usarse cuando se deben crear entidades de software para comunicarse entre ellas. Esto reducirá el número de tecnologías que deben conocer los desarrolladores para adaptarse a distintos escenarios de comunicación de software, que a su vez reducirán el coste de los recursos de desarrollo de software y el tiempo para finalizar los proyectos de desarrollo de software.

Incluso para los proyectos de desarrollo de los servicios web, WCF admite más protocolos de servicios web que los que admiten los servicios web ASP.NET. Estos protocolos adicionales proporcionan más soluciones sofisticadas, como sesiones y transacciones confiables, entre otras.

WCF admite más protocolos para transportar mensajes que los servicios web ASP.NET. Los servicios web de ASP.NET solo admiten el envío de mensajes mediante el Protocolo de transferencia de hipertexto (HTTP). WCF admite el envío de mensajes mediante HTTP, así como el protocolo de control de transmisión (TCP), canalizaciones con nombre y Microsoft Message Queue Server (MSMQ). Y lo que es más importante, WCF se puede extender para admitir protocolos de transporte adicionales. Por tanto, el software desarrollado con WCF se puede adaptar para trabajar junto con una variedad más amplia de otro software, lo que aumenta la posible rentabilidad de la inversión.

WCF proporciona funciones mucho más eficaces para implementar y administrar las aplicaciones que los servicios web ASP.NET proporcionan. Además de un sistema de configuración, que también tiene ASP.NET, WCF ofrece un editor de configuración, seguimiento de actividades desde emisores a receptores y viceversa a través de cualquier número de intermediarios, un visor de seguimiento, registro de mensajes, una gran cantidad de contadores de rendimiento y compatibilidad con el instrumental de administración de Windows.

Dados estas posibles ventajas de WCF relativos a los servicios web ASP.NET, si está usando o está considerando usar los servicios web ASP.NET, tiene varias opciones:

  • Continúe usando los servicios web ASP.NET y prescinda de las ventajas que ofrece WCF.

  • Siga usando los servicios web ASP.NET con la intención de adoptar WCF en algún momento futuro. Los temas de esta sección explican cómo maximizar las perspectivas para poder usar las nuevas aplicaciones de servicio web ASP.NET junto con las futuras aplicaciones WCF. Los temas de esta sección también explican cómo compilar los nuevos servicios web ASP.NET para facilitar su migración a WCF. Sin embargo, si resulta importante proteger los servicios, se necesitan garantías de confiabilidad o transacción o bien se deben construir funciones de administración personalizadas, lo más adecuado es adoptar WCF. WCF está diseñado precisamente para dichos escenarios.

  • Adopte WCF para nuevos desarrollos, mientras continúa manteniendo las aplicaciones de servicios web ASP.NET existentes. Es muy probable que esta opción sea la óptima. Suspende las ventajas de WCF, mientras se ahorra el costo de modificar las aplicaciones existentes para usarlo. En este escenario, las nuevas aplicaciones WCF pueden coexistir con aplicaciones ASP.NET existentes. Las nuevas aplicaciones WCF podrán usar servicios web ASP.NET existentes, y WCF se puede usar para programar nuevas funcionalidades operativas en aplicaciones ASP.NET existentes según el modo de compatibilidad ASP.NET WCF.

  • Adopte WCF y migre las aplicaciones de servicios web ASP.NET existentes a WCF. Puede elegir esta opción para mejorar las aplicaciones existentes con características que proporciona WCF o para reproducir la funcionalidad de los servicios web ASP.NET existentes en aplicaciones WCF nuevas y más potentes.

Nota

Hay que tener cuidado si IIS 5.x hospeda un servicio WCF y se desinstala ASP.NET. Cuando IIS 5.x hospeda un servicio WCF, se puede solicitar el código para el servicio si se desinstala ASP.NET. Cuando ASP.NET se desinstala en un sistema operativo que ejecuta IIS 5.x y se desinstala WCF, un archivo con la extensión .svc se considera un archivo de texto y el contenido, incluido cualquier código fuente, se devuelve al solicitante.

En esta sección se describen estas opciones en detalle, se comparan los servicios web ASP.NET con WCF y se proporcionan instrucciones sobre cómo migrar el código de los servicios web ASP.NET a WCF.

Consulte también