Exportar (0) Imprimir
Expandir Tudo
0 de 1 pessoas classificaram isso como útil - Avalie este tópico

Etapa 2: Criar credenciais de gerenciamento

Esta é a segunda etapa no tutorial de recursos do sistema de mensagens do Service Bus. Nesta etapa, você define as operações de gerenciamento que serão usadas para criar credenciais seguras (segredo compartilhado) com as quais seu aplicativo será autorizado.

Criar credenciais de gerenciamento

  1. Para fins de clareza, este tutorial coloca todas as operações da fila em um método separado. Crie um método de Queue() na classe Program, abaixo do método Main(). Por exemplo:

    public static void Main(string[] args)
    {
    …}
    static void Queue()
    {
    }
    
    
  2. A etapa seguinte é criar uma credencial de segredo compartilhado usando um objeto TokenProvider. O método de criação usa o nome e a chave do emissor que foram obtidos no método CollectUserInput(). Adicione o seguinte código ao método Queue():

    static void Queue()
    {
        // Create management credentials
        TokenProvider credentials = TokenProvider.CreateSharedSecretTokenProvider(IssuerName, IssuerKey);
    }
    
    

Para criar o gerenciador do namespace de serviço

  1. Crie um novo objeto de gerenciamento do namespace de serviço, com um URI contendo o nome do namespace de serviço e as credenciais de gerenciamento obtidos na última etapa como argumentos. Adicione este código diretamente abaixo do código que foi adicionado na etapa anterior:

    NamespaceManager namespaceClient = new NamespaceManager(ServiceBusEnvironment.CreateServiceUri("sb", ServiceNamespace, string.Empty), credentials);
    

Exemplo

Neste ponto, seu código deve ser similar ao seguinte:

namespace Microsoft.ServiceBus.Samples
{
    public class Program
    {

        private static DataTable issues;
        private static List<BrokeredMessage> MessageList;
        private static string ServiceNamespace;
        private static string IssuerName;
        private static string IssuerKey;

        public static void Main(string[] args)
        {
            // Collect user input
            CollectUserInput();

            // Populate test data
            issues = ParseCSVFile();
            MessageList = GenerateMessages(issues);

        }

        static void Queue()
        {

            // Create management credentials
                TokenProvider credentials = TokenProvider.CreateSharedSecretTokenProvider(IssuerName, IssuerKey);
            // Create namespace client
            NamespaceManager namespaceClient = new NamespaceManager(ServiceBusEnvironment.CreateServiceUri("sb", ServiceNamespace, string.Empty), credentials);
        }

        static void CollectUserInput()
        {
            // User service namespace
            Console.Write("Please provide the service namespace to use: ");
            ServiceNamespace = Console.ReadLine();

            // Issuer name
            Console.Write("Please provide the issuer name to use: ");
            IssuerName = Console.ReadLine();

            // Issuer key
            Console.Write("Please provide the issuer key to use: ");
            IssuerKey = Console.ReadLine();
        }


       static List<BrokeredMessage> GenerateMessages(DataTable issues)
        {
            // Instantiate the brokered list object
            List<BrokeredMessage> result = new List<BrokeredMessage>();

            // Iterate through the table and create a brokered message for each row
            foreach (DataRow item in issues.Rows)
            {
                BrokeredMessage message = new BrokeredMessage();
                foreach (DataColumn property in issues.Columns)
                {
                    message.Properties.Add(property.ColumnName, item[property]);
                }
                result.Add(message);
            }
            return result;
        }

        static DataTable ParseCSVFile()
        {
            DataTable tableIssues = new DataTable("Issues");
            string path = @"..\..\data.csv";
            using (StreamReader readFile = new StreamReader(path))
            {
                string line;
                string[] row;

                // create the columns
                line = readFile.ReadLine();
                foreach (string columnTitle in line.Split(','))
                {
                    tableIssues.Columns.Add(columnTitle);
                }

                while ((line = readFile.ReadLine()) != null)
                {
                    row = line.Split(',');
                    tableIssues.Rows.Add(row);
                }
            }

        return tableIssues;
    }
}
}

Na etapa seguinte, você cria a fila para a qual enviará mensagens.

Compilando o código

  • No menu Compilar em Visual Studio, selecione Compilar solução ou pressione F6 para confirmar a precisão de seu trabalho até o momento.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.