C# 来自死信队列的服务总线克隆不工作

C# 来自死信队列的服务总线克隆不工作,c#,azureservicebus,azure-servicebus-topics,C#,Azureservicebus,Azure Servicebus Topics,我试图从服务总线死信队列中获取一条消息,克隆它并将其发送回原始队列。我使用克隆方法,然后在使用SendAsync将其发送回之前,从userproperties中删除死信原因 我注意到两个问题——当我从新的克隆消息中删除属性时,这些属性也从原始消息中删除。另外,当我使用SendAsync方法时,我在任何地方都看不到新消息 任何帮助都将不胜感激 string fullPath = EntityNameHelper.FormatSubscriptionPath(TopicNam

我试图从服务总线死信队列中获取一条消息,克隆它并将其发送回原始队列。我使用克隆方法,然后在使用SendAsync将其发送回之前,从userproperties中删除死信原因

我注意到两个问题——当我从新的克隆消息中删除属性时,这些属性也从原始消息中删除。另外,当我使用SendAsync方法时,我在任何地方都看不到新消息

任何帮助都将不胜感激

            string fullPath = EntityNameHelper.FormatSubscriptionPath(TopicName, subscriptionName);
            var deadLetterClient = new MessageReceiver(ServiceBusConnectionString, fullDeadLetterPath);
            var client = new MessageSender(ServiceBusConnectionString, fullPath);

            var messages = deadLetterClient.ReceiveAsync(1).Result;
            if (messages.Any())
            {
                var message = messages.First();
                var newMessage = message.Clone();
                newMessage.UserProperties.Remove("DeadLetterReason");
                newMessage.UserProperties.Remove("DeadLetterErrorDescription");

                client.SendAsync(newMessage);
            }

newMessage.UserProperties==message.UserProperties生成true。显然,克隆方法存在某种类型的错误,它没有进行深度克隆


此时我的最佳猜测是,我必须手动创建消息对象的新副本,而不是依赖克隆操作。

在即时窗口中,newMessage==message产生false。但实际上,用户属性正在从这两条消息中删除。