From 86b45019c7f0ca89fdc8221cd3c8e9143996e25d Mon Sep 17 00:00:00 2001 From: danielmarbach Date: Sun, 12 Apr 2020 18:15:36 +0200 Subject: [PATCH 1/2] Stop copying ReadonlyMemory from original given that we are using an immutable and readonly memory reference --- .../Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs b/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs index f17cb78b23ff..da70e7a6f83f 100644 --- a/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs +++ b/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs @@ -285,9 +285,7 @@ public static ServiceBusMessage CreateFrom(ServiceBusReceivedMessage message) var originalBody = message.Body; if (!originalBody.IsEmpty) { - var clonedBody = new byte[originalBody.Length]; - Array.Copy(originalBody.ToArray(), clonedBody, originalBody.Length); - copiedMessage.Body = clonedBody; + copiedMessage.Body = originalBody; } copiedMessage.Properties = new Dictionary(message.Properties); return copiedMessage; From 4079a55d85e5bebe15b3f51845962894ee1b270d Mon Sep 17 00:00:00 2001 From: danielmarbach Date: Mon, 13 Apr 2020 07:37:53 +0200 Subject: [PATCH 2/2] Use object initializer --- .../src/ServiceBusMessage.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs b/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs index da70e7a6f83f..7022742fee00 100644 --- a/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs +++ b/sdk/servicebus/Azure.Messaging.ServiceBus/src/ServiceBusMessage.cs @@ -267,27 +267,23 @@ public override string ToString() /// public static ServiceBusMessage CreateFrom(ServiceBusReceivedMessage message) { - var copiedMessage = new ServiceBusMessage() + var copiedMessage = new ServiceBusMessage { + Body = message.Body, ContentType = message.ContentType, CorrelationId = message.CorrelationId, Label = message.Label, MessageId = message.MessageId, PartitionKey = message.PartitionKey, + Properties = new Dictionary(message.Properties), ReplyTo = message.ReplyTo, ReplyToSessionId = message.ReplyToSessionId, SessionId = message.SessionId, ScheduledEnqueueTime = message.ScheduledEnqueueTime, TimeToLive = message.TimeToLive, To = message.To, - ViaPartitionKey = message.ViaPartitionKey, + ViaPartitionKey = message.ViaPartitionKey }; - var originalBody = message.Body; - if (!originalBody.IsEmpty) - { - copiedMessage.Body = originalBody; - } - copiedMessage.Properties = new Dictionary(message.Properties); return copiedMessage; }