匯出 (0) 列印
全部展開

步驟 5:將訊息傳送至佇列

更新日期: 2014年9月

此為建立基本 REST 樣式之佇列和使用 服務匯流排 的發行/訂閱應用程式所需之九個工作中的第五個。

在此步驟中,您可以新增使用 REST 樣式之 HTTP POST 命令的方法,將訊息傳送至您在上一個步驟中建立的佇列。

  1. 將下列程式碼直接貼至您在步驟 4 中新增之 CreateQueue() 程式碼的下方:

    // Sends a message to the "queueName" queue, given the name, the value to enqueue, and the SWT token
    // Uses an HTTP POST request.
    private static void SendMessage(string queueName, string body)
    {
        string fullAddress = baseAddress + queueName + "/messages" + "?timeout=60&api-version=2013-08 ";
        Console.WriteLine("\nSending message {0} - to address {1}", body, fullAddress);
        WebClient webClient = new WebClient();
        webClient.Headers[HttpRequestHeader.Authorization] = token;
    
        webClient.UploadData(fullAddress, "POST", Encoding.UTF8.GetBytes(body));
    }
    
    
  2. 標準代理訊息屬性位於 BrokerProperties HTTP 標頭。 代理人屬性必須以 JSON 格式序列化。 若要指定 TimeToLive 值為 30 秒並新增訊息標籤 “M1” 至訊息,請在 webClient.UploadData() 呼叫顯示在之前的程式碼片段前立即新增下列程式碼:

    // Add brokered message properties “TimeToLive” and “Label”.
    webClient.Headers.Add("BrokerProperties", "{ \"TimeToLive\":30, \"Label\":\"M1\"}");
    

    注意會新增代理訊息屬性。 因此,傳送要求必須指定 API 版本,其支援為要求之一部分的代理訊息屬性。 若指定的 API 版本不支援代理訊息屬性,則會加以忽略。

  3. 自訂訊息屬性定義為一組金鑰-值配對。 每個自訂的屬性會儲存在本身的 TPPT 標頭中。 若要新增自訂屬性 “Priority” 和 “Customer”,在 webClient.UploadData() 呼叫顯示在之前的程式碼片段前立即新增下列程式碼:

    // Add custom properties “Priority” and “Customer”.
    webClient.Headers.Add("Priority", "High");
    webClient.Headers.Add("Customer", "12345");
    

顯示:
© 2014 Microsoft