내보내기(0) 인쇄
모두 확장

2단계: 관리 자격 증명 만들기

업데이트 날짜: 2014년 1월

이 문서에서는 Service Bus 메시징 기능 자습서의 두 번째 단계를 설명합니다. 이 단계에서는 응용 프로그램에 권한을 부여하는 데 사용되는 보안(공유 암호) 자격 증명을 만들기 위해 수행할 관리 작업을 정의합니다.

  1. 이 자습서에서는 모든 큐 작업을 쉽게 확인할 수 있도록 개별 메서드로 표시합니다. Program 클래스에서 Main() 메서드 아래에 Queue() 메서드를 만듭니다. 예를 들면 다음과 같습니다.

    public static void Main(string[] args)
    {
    …}
    static void Queue()
    {
    }
    
    
  2. 다음 단계에서는 TokenProvider 개체를 사용하여 공유 암호 자격 증명을 만듭니다. 만들기 메서드는 CollectUserInput() 메서드에서 가져온 발급자 이름과 키를 사용합니다. 다음 코드를 Queue() 메서드에 추가합니다.

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

  1. 이전 단계에서 가져온 관리 자격 증명과 서비스 네임스페이스 이름이 포함된 URI를 인수로 사용하여 새 서비스 네임스페이스 관리 개체를 만듭니다. 이전 단계에서 추가한 코드 바로 아래에 이 코드를 추가합니다.

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

예제

이제 코드는 다음과 같이 표시됩니다.

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;
    }
}
}

다음 단계에서는 메시지를 보낼 큐를 만듭니다.

코드 컴파일

  • Visual Studio의 빌드 메뉴에서 솔루션 빌드를 선택하거나, F6 키를 눌러 지금까지 수행한 작업이 정확한지 확인합니다.

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft