Exportar (0) Imprimir
Expandir todo

Creación de un rol de trabajo de Azure con proyecto de cola de Bus de servicio

Actualizado: agosto de 2014

Microsoft Azure Tools para Microsoft Visual Studio: admite el tipo de plantilla de proyecto Rol de trabajo de Azure con cola de Bus de servicio. Puede usar esta plantilla para agregar un rol de trabajo a la aplicación de Microsoft Azure que recibe mensajes de una cola de CmdLets. Para obtener más información sobre plantillas de proyecto en Microsoft Azure Tools para Microsoft Visual Studio:, vea Crear un proyecto de Azure con Visual Studio.

En esta sección se describe cómo crear un rol de trabajo de cola de CmdLets. El código se basa en el tutorial .NET Multi-Tier Application Using Service Bus Queues, pero sustituye la creación del rol de trabajo de este tutorial por otro que usa la plantilla de proyecto de CmdLets en Microsoft Azure Tools.

Microsoft Azure contiene varias API en el SDK que proporcionan a los desarrolladores una forma coherente de crear nuevas instancias de clientes entre servicios, como CmdLets. La nueva plantilla de proyecto Rol de trabajo de cola de Bus de servicio usa estas API en el código generado. Para obtener más información sobre los cambios de configuración, vea Cambios de configuración.

Para instalar Microsoft Azure Tools para Microsoft Visual Studio:, vea la sección Instalar Azure Tools para Microsoft Visual Studio. Si ya ha instalado Microsoft Azure Tools, continúe en el paso siguiente.

Lleve a cabo los pasos de .NET Multi-Tier Application Using Service Bus Queues, hasta el paso “Create the Worker Role” exclusive. Después de completar la sección “Create a Web Role” del tutorial de varios niveles, no siga en la sección “Create the Worker Role”. En su lugar, siga en el paso siguiente.

  1. En Visual Studio, en el Explorador de soluciones, haga clic en la carpeta Roles en el proyecto MultiTierApp.

  2. Haga clic en Agregar, y luego haga clic en Nuevo proyecto de rol de trabajador. Aparece el diálogo Agregar nuevo proyecto de rol.

  3. En el diálogo Agregar nuevo proyecto de rol, haga clic en Rol de trabajo con cola de Service Bus, como en la figura siguiente:

    Elegir un rol de trabajo de Service Bus
  4. En el cuadro Nombre, asigne el nombre OrderProcessingRole al proyecto. A continuación, haga clic en Agregar.

  5. En el Explorador de servidores, agregue una conexión al espacio de nombres de servicio que desee usar, tal como se describe en Exploración de los recursos del Service Bus con el Explorador de servidores de Visual Studio.

  6. En el Explorador de servidores, haga clic con el botón derecho en el nombre del espacio de nombres de servicio, luego haga clic en Propiedades. En el panel Propiedades de Visual Studio, la primera entrada contiene una cadena de conexión que se llena con el extremo de espacio de nombres de servicio que contiene la autorización necesaria. Por ejemplo, consulte la figura siguiente. Haga doble clic en ConnectionString y luego pulse Ctrl+C para copiar este extremo en el portapapeles.

    Propiedades de Espacio de nombres de Service Bus
  7. En el Explorador de soluciones, haga clic con el botón secundario en el OrderProcessingRole que ha creado en el paso anterior, luego haga clic en Propiedades.

  8. En la pestaña Configuración del diálogo Propiedades, haga clic dentro del cuadro Valor para Microsoft.ServiceBus.ConnectionString, y luego pegue el valor que ha copiado en el paso 6.

    Propiedades de rol de trabajo de Service Bus
  9. Cree una clase OnlineOrder que represente las órdenes cuando las procese desde la cola. Puede volver a usar una clase que ya haya creado. En el Explorador de soluciones, haga clic con el botón secundario en OrderProcessingRole. Haga clic en Agregar y luego en Elemento existente.

  10. Examine la subcarpeta para FrontendWebRole\Models, y haga doble clic en OnlineOrder.cs para agregarlo a este proyecto.

  11. Sustituya el valor de la variable QueueName en WorkerRole.cs “ProcessingQueue” por “OrdersQueue” como en el código siguiente:

    // The name of your queue
    const string QueueName = "OrdersQueue";
    
  12. Agregue la siguiente sentencia using al principio del archivo WorkerRole.cs:

    using FrontendWebRole.Models;
    
  13. En la función Run(), agregue el código siguiente dentro del bucle if (receivedMessage != null), debajo de la sentencia Trace:

    if (receivedMessage != null)
        {
            // Process the message
            Trace.WriteLine("Processing", receivedMessage.SequenceNumber.ToString());
    
            // Add this code
            // View the message as an OnlineOrder
            OnlineOrder order = receivedMessage.GetBody<OnlineOrder>();
            Trace.WriteLine(order.Customer + ": " + order.Product, "ProcessingMessage");
    
            receivedMessage.Complete();
        }
    

Ahora puede ejecutar la aplicación pulsando F5 en Visual Studio. Tenga en cuenta que el número de mensajes no se incrementa, porque el rol de trabajo procesa elementos de la cola y los marca como completados.

Puede ver la salida de seguimiento de la cola de trabajo abriendo el emulador de proceso de Azure. Para hacerlo, haga clic con el botón derecho en el icono del emulador en el área de notificaciones de la barra de tareas y haga clic en Mostrar interfaz de usuario del emulador de proceso. A medida que entra datos en el sitio web, se procesan en el emulador, como en la siguiente figura:

IU del emulador de proceso de Windows Azure

Mostrar:
© 2015 Microsoft