尝试使用 web api 从 Azure 队列检索消息文本,但消息文本已编码。我如何删除编码

Trying to retrieve Message Text from Azure Queue using web api but message text is encoded. how do i remove encoding

当我检索某些内容时,输出已编码。

QueueClient queue = new QueueClient(connectionString, "outqueue"); 字符串值 = await RetrieveNextMessageAsync(queue);

        return value;

检索 NextMessageAsync:

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

输出: enter image description here

如果你的消息编码是base64,你可以使用下面的代码通过包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;
        }

关于如何查看消息编码,可以使用Azure Storage Explorer