Hi, we were stable on 4.5 for a long time and recently went live, upgrading to 5.5 and started noticing random issues. The first problem was null object properties, were being excluded from serialisation randomly, especially lists properties. And our client apps which expect it to include nulls were throwing errors. Just a small percent of overall volume and we only get this issue in production environment.
Its as if the state of ServiceStack.Text.JSConfig on an instance in the web farm is changed randomly. And some small percentage of responses are serialised as if JsConfig.IncludeNullValues gets reset to false.
Then today we started getting a late bound deserialisation issue. In our message queue handling logic were getting this when we call message.GetBody() (its a Redis based MQ).
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]' to type '...EmailSending'
And theres a DLQ for dictionary. “mq:Dictionary`2.dlq” in Redis.
Its still a small percentage of the overall volume through the email sending queue. When I use the redis-client with lrange “mq:Dictionary`2.dlq” n n - I can see that: __type: “” is missing in the Body object. While others have them.
Any ideas as to what is causing these weird serialisation issues?