我有一个简单的代码:
QueueClient azQueue = new QueueClient(@"<connection string>", "test-queue");
azQueue.SendMessage("test®test");
并且它以消息"失败;6次尝试后重试失败"如果我从字符串中删除®字符,它会毫无问题地发送消息。请帮我正确处理特殊字符。
我相信您使用的是较新的SDKAzure.Storage.Queues
,它不会像以前的Microsoft.Azure.Storage.Queue
或WindowsAzure.Storage
那样在Base64中自动编码消息(已弃用(。因此,最好像下面这样对您的消息进行编码。另请参阅:https://github.com/Azure/azure-sdk-for-net/issues/11358还有一个功能请求https://github.com/Azure/azure-sdk-for-net/issues/10242.
QueueClient azQueue = new QueueClient(@"<connection string>", "test-queue");
azQueue.SendMessage(Convert.ToBase64String(Encoding.UTF8.GetBytes("test®test")));