From 199a13ee82bce9c32f2149b3d6abae4a33c8d2e8 Mon Sep 17 00:00:00 2001 From: Martin Strobel Date: Fri, 14 Jan 2022 11:29:27 -0800 Subject: [PATCH] Truncate visiblityTimeout when updating QueueMessage The server will reject requests that do not use an integer value of seconds for visiblity. The AddMessage method already addresses this by using a `long` number of seconds, but UpdateMessage takes a TimeSpan and will include fractional seconds allowing for requests that will always be rejected. --- .../Queue/Protocol/QueueHttpRequestMessageFactory.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/WindowsRuntime/Queue/Protocol/QueueHttpRequestMessageFactory.cs b/Lib/WindowsRuntime/Queue/Protocol/QueueHttpRequestMessageFactory.cs index 3da314b66..675239092 100644 --- a/Lib/WindowsRuntime/Queue/Protocol/QueueHttpRequestMessageFactory.cs +++ b/Lib/WindowsRuntime/Queue/Protocol/QueueHttpRequestMessageFactory.cs @@ -201,7 +201,8 @@ public static StorageRequestMessage UpdateMessage(Uri uri, int? timeout, string builder.Add(Constants.QueryConstants.PopReceipt, popReceipt); if (visibilityTimeout != null) { - builder.Add(Constants.QueryConstants.VisibilityTimeout, visibilityTimeout.Value.TotalSeconds.ToString()); + var totalSeconds = (long) visibilityTimeout.Value.TotalSeconds; + builder.Add(Constants.QueryConstants.VisibilityTimeout, totalSeconds.ToString()); } else {