Compartir a través de


Mensajería en .NET Compact Framework

Actualización: noviembre 2007

El subconjunto de Windows Communication Foundation (WCF) que se implementa en .NET Compact Framework proporciona un modelo de programación unificado para generar aplicaciones orientadas a mensajes. Permite a los programadores generar aplicaciones de mensajería seguras que funcionan en diferentes plataformas y que admiten la interacción con los servicios WCF que ya existen en el escritorio.

Nota:

WCF se admite en .NET Compact Framework versión 3.5 y versiones posteriores.

Arquitectura

La capa de mensajería de WCF para .NET Compact Framework se modela después de la arquitectura WCF estándar del escritorio. La capa de la mensajería se admite en el dispositivo y le permite conectarse a un servicio WCF existente en el escritorio. La capa en tiempo de ejecución del servicio no está presente en el dispositivo.

La ilustración siguiente muestra la pila de canales, los protocolos asociados y los elementos de enlace de WCF.

Capa de mensajería de WCF en .NET Compact Framework

La compatibilidad para la especificación WS-Security versión 1.0 incluye seguridad de mensajes SOAP mediante los certificados X.509.

La clase Message está generada según la norma WS-Addressing.

Diferencias con la implementación de escritorio

.NET Compact Framework no admite el conjunto completo de protocolos y enlaces que se admiten en el escritorio. Vea el diagrama de arquitectura en la sección anterior para obtener más información sobre los protocolos y enlaces admitidos.

La capa en tiempo de ejecución del servicio no se admite en .NET Compact Framework. Como resultado, si desea conectarse a un servicio WCF existente en el escritorio, tenga en cuenta las consideraciones siguientes:

  • Se deben cambiar algunas opciones de configuración del archivo Web.config. Para obtener más información, vea Cómo: Usar el transporte HTTP.

  • Si desea agregar compatibilidad con el dispositivo para contratos System.ServiceModel, puede utilizar la utilidad ServiceModel (NetCFSvcUtil.exe) de .NET Compact Framework para generar un proxy de cliente de WCF. Esta herramienta agrega compatibilidad con muchos parámetros de contrato en .NET Compact Framework. NetCFSvcUtil.exe se suministra con las herramientas avanzadas de .NET Compact Framework. Para obtener más información, vea Power Toys for .NET Compact Framework.

  • Si no utiliza NetCFSvcUtil, puede utilizar la utilidad de escritorio WCF ServiceModel (SvcUtil.exe) y post-procesar el código generado. En este caso, tiene que quitar los atributos no admitidos de System.ServiceModel del código generado. Para obtener más información sobre estas modificaciones y un ejemplo, vea Cómo: Usar el transporte HTTP.

Además, se admite un subconjunto de los tipos de mensajería y miembros de WCF de la versión completa de .NET Framework.

La sección siguiente describe las diferencias específicas de las características de seguridad de WCF.

Seguridad

En .NET Compact Framework, la mensajería de WCF admite seguridad de mensajes SOAP, que corresponde a un subconjunto de las características de WS-Security y está basada en certificados X.509. WS-Security es un nivel de aplicación que se puede colocar encima de cualquier transporte compatible. Los elementos de enlace de seguridad que se admiten en mensajería de WCF son SecurityBindingElement y AsymmetricSecurityBindingElement. Para implementar las características de seguridad, debe pasar los certificados X.509 dentro de un objeto ClientCredentials como un parámetro del constructor, para el proxy de cliente de WCF.

En .NET Compact Framework también se admite la seguridad en el nivel de transporte para WCF. Esto incluye compatibilidad para HttpsTransportBindingElement y BasicHttpSecurity.

La implementación de la seguridad de WCF en .NET Compact Framework difiere de la implementación en el escritorio en los siguientes aspectos:

Nota:

Durante el horario de verano ampliado, los mensajes salientes que utilizan la seguridad de mensajes producirán un error de validación de la marca de tiempo cuando esté en vigor la validación de la marca de tiempo predeterminada de cinco minutos. El horario de verano ampliado se extiende desde el segundo domingo de marzo al primer domingo de abril y desde el último domingo de octubre al primer domingo de noviembre. Para resolver este problema, instale la actualización del horario de verano para 2007. Esto no se aplica a los dispositivos que ejecutan Windows Mobile 5.0 compilación 15096.3.0 y posteriores o Windows Mobile 6.0 y posteriores.

Implementación

Las DLL de mensajería de WCF se entregan en archivos CAB de .NET Compact Framework. Los ensamblados administrados se instalan en la caché de ensamblados global.

Entre las DLL de mensajería de WCF para el dispositivo, se encuentran las siguientes:

  • System.ServiceModel.dll

  • System.Runtime.Serialization.dll

La implementación también incluye la implementación del transporte de correo de Exchange Server en WCF. Para obtener más información acerca de la implementación para dispositivos y escritorio, vea Transporte de correo de Exchange Server en WCF.

Registro

En la versión de .NET Framework para escritorio, WCF admite tres tipos de registro: traza, mensajería y registro de eventos. En .NET Compact Framework, WCF sólo admite el registro de trazas para realizar el seguimiento de las excepciones de código, pero no registra los mensajes de advertencia y error. Se utiliza una clave del Registro para configurar el registro.

Para registrar la información de WCF, primero debe habilitar el registro para .NET Compact Framework. Para obtener más información acerca de cómo se habilita el registro y el registro de seguimiento de WCF, vea Cómo: Crear archivos de registro.

Vea también

Conceptos

Información del archivo de registro

Otros recursos

Desarrollo de Windows Communication Foundation (WCF) y .NET Compact Framework