Exportar (0) Imprimir
Expandir todo

Paso 7: Crear un tema y una suscripción

Actualizado: enero de 2014

Esta es la séptima de las nueve tareas necesarias para crear una aplicación básica de publicación/suscripción y de cola del estilo REST que usa Microsoft Azure Service Bus.

El próximo paso es crear un método que usa el comando HTTP PUT de estilo REST para crear un tema. Posteriormente, debe escribir un método que crea una suscripción a ese tema.

  1. Pegue el siguiente código directamente debajo del código ReceiveAndDeleteMessage() que agregó en el paso 6:

    // Creates a Topic with the given topic name and the SWT token
    // Using an HTTP PUT request.
    private static string CreateTopic(string topicName)
    {
        var topicAddress = baseAddress + topicName;
        WebClient webClient = new WebClient();
        webClient.Headers[HttpRequestHeader.Authorization] = token;
    
        Console.WriteLine("\nCreating topic {0}", topicAddress);
        // Prepare the body of the create queue request
        var putData = @"<entry xmlns=""http://www.w3.org/2005/Atom"">
                                      <title type=""text"">" + topicName + @"</title>
                                      <content type=""application/xml"">
                                        <TopicDescription xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"" />
                                      </content>
                                    </entry>";
    
        byte[] response = webClient.UploadData(topicAddress, "PUT", Encoding.UTF8.GetBytes(putData));
        return Encoding.UTF8.GetString(response);
    }
    

  1. El código a continuación crea una suscripción en el tema que creó en la sección anterior. Agregue el siguiente código directamente debajo de la definición CreateTopic():

    private static string CreateSubscription(string topicName, string subscriptionName)
    {
        var subscriptionAddress = baseAddress + topicName + "/Subscriptions/" + subscriptionName;
        WebClient webClient = new WebClient();
        webClient.Headers[HttpRequestHeader.Authorization] = token;
    
        Console.WriteLine("\nCreating subscription {0}", subscriptionAddress);
        // Prepare the body of the create queue request
        var putData = @"<entry xmlns=""http://www.w3.org/2005/Atom"">
                                      <title type=""text"">" + subscriptionName + @"</title>
                                      <content type=""application/xml"">
                                        <SubscriptionDescription xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"" />
                                      </content>
                                    </entry>";
    
        byte[] response = webClient.UploadData(subscriptionAddress, "PUT", Encoding.UTF8.GetBytes(putData));
        return Encoding.UTF8.GetString(response);
    }
    

Mostrar:
© 2014 Microsoft