Description
Everytime I tried reading a message from a queue, I got an exception when it tried to deserialize it. Debugging through the code, I found the data which it is trying to deserialize from JSON was in the following format:
(6) "STRING" (196) "http://....(long uri here)" (xx) "{ (actual json here) ....
After some googling, I downloaded the v9.0.0.0 code base, and changed the code for HandleDequeueAsync
from
var message = _serializer.Deserialize<T>(brokeredMessage.Body);`
to
var messageText = brokeredMessage?.GetBody<string>();
var message = _serializer.Deserialize<T>(messageText);
recompiled and run with that, and everything worked fine.
This had me a bit confused how you'd allow such an obvious bug in the released (and presumably, tested) code, so I dug a bit further.
I discovered that in commit 4db0835 (committed on Dec 10, 2018; yassinebennani), that exact code was removed from the source code.
So, I'm confused --- why was that call no longer needed -- and why do I still need it? And how can we create a version which handles both use cases?