Compartir a través de


Tutorial 1: Desarrollar el adaptador de Echo

En este tutorial, desarrollará un adaptador funcional mediante el SDK del adaptador de LOB de WCF. El adaptador simula las operaciones de un sistema ficticio de línea de negocio para ilustrar muchas de las características clave del SDK del adaptador de LOB de WCF, entre las que se incluyen:

  • Entrada sincrónica

  • Salida sincrónica

  • Examinar metadatos

  • Búsqueda de metadatos

  • Resolución de metadatos

    Esta sección contiene varias características compatibles con el adaptador de eco. Son intercambio de mensajes, metadatos de operación, propiedades de conexión y propiedades del adaptador.

Modelos de intercambio de mensajes

El adaptador de eco admite los dos patrones de intercambio de mensajes siguientes:

  • Salida sincrónica, es decir, el cliente que consume envía el mensaje de solicitud WCF a través del adaptador al sistema de destino y, a continuación, espera a recibir un mensaje de respuesta WCF del sistema de destino a través del adaptador. Este es el patrón de intercambio de mensajes más común para un adaptador. Para admitir la salida sincrónica, implemente la Microsoft.ServiceModel.Channels.Common.IOutboundHandler interfaz .

  • De entrada sincrónica, es decir, el cliente que consume escucha los datos o eventos del sistema de destino a través del adaptador. Para admitir la entrada sincrónica, implemente la Microsoft.ServiceModel.Channels.Common.IInboundHandler interfaz .

    Para obtener más información sobre los patrones de intercambio de mensajes, consulte Introducción a la arquitectura.

Nota

El Asistente para desarrollo de adaptadores muestra el patrón de intercambio de mensajes como flujo de datos en la interfaz de usuario.

Compatibilidad con metadatos

El adaptador de eco admite funcionalidades de exploración, búsqueda y resolución de metadatos. Normalmente, las operaciones de exploración y búsqueda recuperan operaciones de un sistema LOB. Para el adaptador de eco, un sistema LOB es un conjunto de operaciones predefinidas, como se muestra a continuación:

EchoMainCategory  
        Echo/EchoStrings  
        Echo/EchoGreetings  
        Echo/EchoCustomGreetingFromFile  
        Echo/OnReceiveEcho  

A continuación se muestra la definición de cada operación:

Nombre Definición de operación Descripción Dirección
EchoMainCategory Category Clasifica las operaciones. N/D
Echo/EchoStrings string[] EchoStrings(string data) Devuelve la cadena entrante un número especificado de veces al cliente que realiza la llamada. Salida
Echo/EchoGreetings Greeting[] EchoGreetings(Greeting greeting) Devuelve el objeto Greeting entrante un número especificado de veces al cliente que realiza la llamada. Salida
Echo/EchoCustomGreetingFromFile CustomGreeting EchoCustomGreetingFromFile(Uri greetingInstancePath) Devuelve el objeto Greeting leyendo su instancia de un archivo. Los metadatos del objeto Greeting se obtienen de un archivo XSD predefinido. Salida
Echo/OnReceiveEcho void OnReceiveEcho(Uri path, long content) Devuelve la ubicación y la longitud de un archivo quitado en la carpeta especificada. Entrada

Propiedades de adaptador

El adaptador expone las siguientes propiedades del adaptador.

Nombre Categoría Tipo de datos Descripción
Count Varios System.Int32 Se usa para hacer eco de la entrada el número de veces especificado para el cliente que realiza la llamada.

Valor predeterminado = 5
EnableConnectionPooling Varios System.Boolean Se usa para habilitar o deshabilitar la agrupación de conexiones para el adaptador.

Default = true, lo que significa que la agrupación de conexiones está habilitada en el motor en tiempo de ejecución del SDK del adaptador de LOB de WCF.
InboundFileFilter Entrada System.String Solo se usa para el escenario de entrada y que usa FileSystemWatcher para supervisar los archivos de la extensión.

Default=*.txt
InboundFileSystemWatcherFolder Entrada System.String Se usa para establecer la carpeta donde se quitarán los archivos para que FileSystemWatcher genere una notificación al adaptador.

Default = c:\inbound\watcher.

Propiedades de conexión

El adaptador de eco expone las siguientes propiedades de conexión.

Nombre Tipo de datos Descripción
Application System.String Nombre de la aplicación dentro del sistema LOB. Esta propiedad es para fines ilustrativos. El adaptador de eco no implica ningún sistema LOB.

Default = lobapplication
EnableAuthentication System.Boolean Cuando es true, el adaptador espera un valor en el campo username dentro de las credenciales de cliente.

Valor predeterminado = false
Hostname System.String Nombre del servidor donde reside un sistema LOB. Esta propiedad es para fines ilustrativos. El adaptador de eco no implica ningún sistema LOB.

Default = lobhostname

Implementación de interfaz

El SDK del adaptador de LOB de WCF define una colección de clases e interfaces que se deben implementar para admitir características específicas del adaptador. En la tabla siguiente se describen esas clases e interfaces, sus descripciones y cuándo implementarlas.

Clase/interfaz Cuándo implementar Descripción
Microsoft.ServiceModel.Channels.Common.IConnection Si necesita definir la conexión al sistema de destino. Define la conexión al sistema de destino.
Microsoft.ServiceModel.Channels.Common.IConnectionFactory Si necesita crear una conexión al sistema de destino. Crea la conexión al sistema de destino.
Microsoft.ServiceModel.Channels.Common.ConnectionUri Si necesita administrar un URI de conexión.

Si necesita clasificar la propiedad de conexión dentro de la herramienta Add Adapter Service Reference Plug-in.
Administra un URI de conexión para el sistema de destino.
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler El adaptador debe admitir la funcionalidad de resolución de metadatos. Resuelve la operación y los metadatos de tipo.
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler Si el adaptador admite la funcionalidad de búsqueda de metadatos. Busca las operaciones dentro del sistema de destino.
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler El adaptador debe admitir la funcionalidad de exploración. Busca las operaciones dentro del sistema de destino.
Microsoft.ServiceModel.Channels.Common.IOutboundHandler Si el adaptador normalmente necesita admitir la funcionalidad de salida. Transforma el mensaje de solicitud WCF entrante en un mensaje del sistema de destino, invoca la función específica del sistema de destino y, a continuación, transforma la respuesta en un mensaje de respuesta WCF saliente.
Microsoft.ServiceModel.Channels.Common.IInboundHandler Si el adaptador admite la funcionalidad de entrada. Escucha los datos o eventos del sistema de destino.

Para simplificar el desarrollo del adaptador, use el Asistente para desarrollo de adaptadores para generar el proyecto de adaptador, que crea un conjunto de clases derivadas adaptadas a las características del adaptador.

Para personalizar las propiedades de adaptador y conexión a través del complemento Agregar referencia del servicio adaptador y consumir las herramientas del complemento de servicio adaptador, modifique los siguientes archivos generados por el Asistente para desarrollo de adaptadores.

Consulte también

Tutoriales para aprender el SDK del adaptador de LOB de WCF