此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
步骤 5:向队列发送消息

步骤 5:向队列发送消息

更新时间: 2015年5月

这是创建使用Service Bus的基本 REST 样式队列和发布/订阅应用程序所需的九个任务中的第五个。

在本步骤中,你要添加使用 REST 样式 HTTP POST 命令的方法,以向在上一步中创建的队列发送消息。

  1. 将以下代码直接粘贴到在步骤 4 中添加的 CreateQueue() 代码之下:

    // Sends a message to the "queueName" queue, given the name and the value to enqueue
    // 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");
    

显示:
© 2015 Microsoft