Deletes a message based on the message ID, and the pop receipt value. Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
Usage
Visual Basic |
---|
Dim instance As CloudQueue Dim messageId As String Dim popReceipt As String instance.DeleteMessage(messageId, popReceipt) |
Syntax
Visual Basic |
---|
Public Sub DeleteMessage ( _ messageId As String, _ popReceipt As String _ ) |
C# |
---|
public void DeleteMessage ( string messageId, string popReceipt ) |
C++ |
---|
public: void DeleteMessage ( String^ messageId, String^ popReceipt ) |
J# |
---|
JScript |
---|
Parameters
- messageId
Type: System.String
The message ID.
- popReceipt
Type: System.String
The pop receipt value.
Example
The following example adds some messages to a queue, retrieves them, and deletes them.
C# | Copy Code |
---|---|
static void DeleteQueueMessages(Uri queueEndpoint, string accountName, string accountKey) { //Create service client for credentialed access to the Queue service. CloudQueueClient queueClient = new CloudQueueClient(queueEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey)); //Get a reference to a queue in this storage account. CloudQueue queue = queueClient.GetQueueReference("myqueue"); //Create the queue if it does not already exist. queue.CreateIfNotExist(); //Clear any existing messages from the queue. queue.Clear(); //Create some new messages and add them to the queue. for (int i = 0; i < 10; i++) { CloudQueueMessage msg = new CloudQueueMessage("message" + i.ToString()); queue.AddMessage(msg); Console.WriteLine("Adding message with content: " + msg.AsString); } //Delete five messages from the queue. foreach(CloudQueueMessage msg in queue.GetMessages(5)) { queue.DeleteMessage(msg); Console.WriteLine("Deleting message: " + msg.Id); } Console.WriteLine(); //Delete five more messages from the queue. foreach (CloudQueueMessage msg in queue.GetMessages(5)) { queue.DeleteMessage(msg.Id, msg.PopReceipt); Console.WriteLine("Deleting message " + msg.Id); } } |
Remarks
After a client retrieves a message by calling the GetMessage or GetMessages method, the client is expected to process and delete the message. When a message is retrieved, its PopReceipt property is set to an opaque value that indicates that the message has been read. The value of the message's pop receipt is used to verify that the message being deleted is the same message that was read.
After a client retrieves a message, that message is reserved for deletion until the date and time indicated by the message's NextVisibleTime property, and no other client may retrieve the message during that time interval. If the message is not deleted before the time specified by the NextVisibleTime property, it again becomes visible to other clients. If the message is not subsequently retrieved and deleted by another client, the client that retrieved it can still delete it. If another client does retrieve it, then the first client can no longer delete it.