Compartir a través de


Escribir un agente de escucha para una solución de Microsoft Azure

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Este tema describe cómo escribir un escucha que pueda leer y procesar los mensajes de Microsoft Dynamics CRM 2015 que se publican en Bus de servicio de Microsoft Azure. Como requisito previo, debería familiarizarse con la manera de escribir un escucha de Bus de servicio de Microsoft Azure antes de intentar comprender los detalles de un escucha de Microsoft Dynamics 365 . Para obtener más información, consulte la Documentación del bus de servicio de Azure y el código de ejemplo.

En este tema

Escribir un escucha de cola

Escribir un escucha unidireccional, bidireccional o REST

Mensajes de filtro

Escribir un escucha de cola

Una cola de mensajes es un repositorio de mensajes recibidos de un extremo de bus de servicio. Un escucha de cola es una aplicación que lee y procesa los mensajes en cola. Puesto que los mensajes de bus de servicio se almacenan en una cola, un escucha no tiene que escuchar activamente para que los mensajes sean recibidos en la cola. Un escucha de cola se puede iniciar una vez que los mensajes han llegado a la cola y seguir procesando los mensajes. Otros tipos de escuchas descritos en la siguiente sección deben escuchar activamente o perderán la oportunidad de leer un mensaje. Estos mensajes se pueden originar desde Microsoft Dynamics 365 o en algún otro origen. Al escribir un escucha de cola, es importante comprobar cada acción del encabezado del mensaje para determinar si el mensaje se originó desde Microsoft Dynamics 365.

Puede hacer una lectura destructiva del mensaje usando Recibir en modo ReceiveAndDelete, donde el mensaje se lee y se quita de la cola, o una lectura no destructiva con el modo PeekLock, donde el mensaje se lee, pero se mantiene en la cola. El código de ejemplo persistente de escucha de cola proporcionado en este SDK realiza una lectura destructiva. Para obtener más información acerca de la lectura de mensajes desde una cola, consulte Cómo recibir mensajes de una cola.

Un tema es similar a una cola, pero implementa un modelo de publicación o suscripción. Puede haber uno o varios escuchas suscritos al tema que reciben mensajes de su cola.Más información:Colas, temas y suscripciones

Importante

Se admiten colas persistentes y temas, aunque no colas del búfer de mensajes. Para usar estos contratos, debe escribir sus aplicaciones de escucha mediante el SDK de Azure versión 1.7 o 1.8.

El uso de colas y temas en el diseño de software multisistema puede dar lugar al desemparejamiento del sistema. Si la aplicación de escucha llega a estar no disponible, la entrega del mensaje de Microsoft Dynamics 365 se realizará correctamente y la aplicación de escucha podrá seguir procesando el mensaje de la cola cuando vuelva a estar en línea.Más información:Colas, temas y suscripciones.

Actualizar un escucha de búfer de mensajes para usar las colas persistentes

El siguiente procedimiento muestra los pasos genéricos que se deben seguir para actualizar una aplicación de escucha que recupera el mensaje de un búfer de mensajes a ya que recibe los mensajes de una cola persistente.

  1. En el portal de Microsoft Azure y en la misma solución, cree una cola en la misma ruta que usó para el búfer del mensaje.

  2. Instale el SDK de Microsoft Azure, versión 1.7 o 1.8, en el equipo de desarrollo.

  3. Actualice el código de escucha quitando clases y métodos relacionados de búfer de mensaje y, a continuación, reemplácelos con QueueClient y Recibir. Asegúrese de usar el modo de lectura deseado: RetrieveAndDelete o PeekLock. Para obtener más información acerca de la lectura de mensajes desde una cola, consulte Colas, temas y suscripciones.

  4. Cree la aplicación de escucha.

No habrá cambios de configuración de Microsoft Dynamics 365 necesarios, siempre que el extremo de la cola utilice la misma ruta de solución que ha utilizado el búfer de mensajes.

Escribir un escucha unidireccional, bidireccional o REST

Además del escucha de colas descrito anteriormente, puede escribir un escucha para otros tres acuerdos de bus de servicio admitidos por Microsoft Dynamics 365: unidireccional, bidireccional y REST. Un módulo de escucha unidireccional puede leer y procesar un mensaje publicado en el bus de servicio. Un módulo de escucha bidireccional puede hacer lo mismo, pero también puede devolver una cadena de información a Dynamics 365. Un escucha REST es el mismo que el escucha bidireccional, pero trabaja con un extremo REST. Tenga en cuenta que estos escuchas deben escuchar activamente en un extremo de servicio para leer un mensaje enviado sobre el bus de servicio. Si el escucha no está escuchando cuando Microsoft Dynamics 365 intenta publicar un mensaje en el bus de servicio, el mensaje no se enviará.

La escritura de un escucha está estructurada sobre lo que en inglés se conoce como ABC: dirección, enlace y contrato. La siguiente información identifica el ABC de un escucha unidireccional.

Una vez registrado el escucha con un extremo, el método Execute del escucha se invoca siempre que Microsoft Dynamics 365 publique un mensaje en el bus de servicio. El método Execute no devuelve los datos de la llamada del método. Para obtener más información, consulte el ejemplo de escucha unidireccional, Ejemplo: módulo de escucha unidireccional.

Un escucha bidireccional tiene un código similar al de un escucha unidireccional. El ABC de un escucha bidireccional es el siguiente:

Para este contrato bidireccional, el método Execute devuelve una cadena de llamada del método. Para obtener más información, consulte el ejemplo de escucha bidireccional, Ejemplo: escucha bidireccional.

Un escucha REST tiene un código similar al de un escucha bidireccional. El ABC de un escucha REST es el siguiente:

Para el contrato REST, el método Execute devuelve una cadena de la llamada al método. Consulte el ejemplo de escucha REST, Ejemplo: agente de escucha de REST, para obtener más información. Tenga en cuenta que, en el ejemplo de escucha REST, se crea una instancia en WebServiceHost y no en ServiceHost, como se hizo en el ejemplo bidireccional.

Nota

Al usar el complemento predefinido (ServiceBusPlugin) con un escucha bidireccional o REST, el complemento no usa los datos de cadena devueltos desde el escucha. Sin embargo, un complemento personalizado basado en Azure podría usar esta información.

Al trabajar con ejemplos de escucha, el secreto de emisor que se le solicitará que escriba es la clave de administración de Bus de servicio de Microsoft Azure . El enlace de federación HTTP WS2007 usa el modo "token" y el protocolo WS-Trust 1.3.

Mensajes de filtro

Hay un contenedor de propiedades con información adicional agregado a la propiedad Propiedades de cada mensaje negociado enviado desde Microsoft Dynamics CRM 2015 y CRM Online. El contenedor de propiedades, disponibles con extremos de cola persistente y contrato de tema, contiene la siguiente información.

  • OrganizaciónUrl

  • Id. de usuario que llama

  • Iniciando Id. de usuario

  • Nombre lógico de la entidad

  • Nombre de solicitud

Esta información identifica la organización, el usuario, la entidad y la solicitud de mensajes que está procesando Microsoft Dynamics 365 y que han causado la publicación de un mensaje de bus de servicio. El código de escucha puede elegir procesar un mensaje que recibe en función de esta información.Más información:Ejemplo: ejecutar varias solicitudes

Ver también

Extensiones de Azure para Microsoft Dynamics CRM 2015
Escribir un complemento con Azure personalizado
Ejemplo: escucha de cola persistente
Ejemplo: módulo de escucha unidireccional
Ejemplo: escucha bidireccional
Ejemplo: agente de escucha de REST
Enviar datos de Microsoft Dynamics CRM 2015 a través del Bus de servicio de Azure

© 2017 Microsoft. Todos los derechos reservados. Copyright