when i retrieve something the output is encoded.
QueueClient queue = new QueueClient(connectionString, "outqueue"); string value = await RetrieveNextMessageAsync(queue);
return value;
RetrieveNextMessageAsync:
if (await theQueue.ExistsAsync())
{
QueueProperties properties = await theQueue.GetPropertiesAsync();
if (properties.ApproximateMessagesCount > 0)
{
QueueMessage[] retrievedMessage = await theQueue.ReceiveMessagesAsync(1);
string theMessage = retrievedMessage[0].MessageText;
await theQueue.DeleteMessageAsync(retrievedMessage[0].MessageId, retrievedMessage[0].PopReceipt);
return theMessage;
}
output: enter image description here
If your message encoding is base64, you can use the following code to retrieve it with package Azure.Storage.Queues
[HttpGet("getMessage")]
public async Task<string> GetMessageAsync() {
string connectionString = "";
var options = new QueueClientOptions {
MessageEncoding= QueueMessageEncoding.Base64
};
var queue = new QueueClient(connectionString, "myqueue", options);
var message = await RetrieveNextMessageAsync(queue);
return message;
}
static async Task<string> RetrieveNextMessageAsync(QueueClient theQueue)
{
if (await theQueue.ExistsAsync())
{
QueueProperties properties = await theQueue.GetPropertiesAsync();
if (properties.ApproximateMessagesCount > 0)
{
QueueMessage[] retrievedMessage = await theQueue.ReceiveMessagesAsync(1);
string theMessage = retrievedMessage[0].MessageText;
await theQueue.DeleteMessageAsync(retrievedMessage[0].MessageId, retrievedMessage[0].PopReceipt);
return theMessage;
}
return null;
}
return null;
}
Regarding how to check message encoding, you can use Azure Storage Explorer