Possible Duplicate:
Passing object messages in Azure Queue Storage
I am working on a use case that requires my queue messages a few more properties than the ones provided by Windows Azure Queue Messages (CloudQueueMessage class). I can't use most of the properties in CloudQueueMessage as they are mostly protected.
So I thought of inheriting the CloudQueueMessage and add my extra properties to the derived class fails. My derived class looks like below:
public class AzureQueueMessage : CloudQueueMessage
{
public AzureQueueMessage(string content): base(content)
{
}
//My new property
public string Label { get; set; }
}
Rest of my message insertion and retrieval code looks like below:
AzureQueueMessage message = new AzureQueueMessage("testing");
cloudQueue.AddMessage(message);
CloudQueueMessage qmessage = cloudQueue.GetMessage();
AzureQueueMessage azureMessage = qmessage as AzureQueueMessage;
Here, cloudQueue is my Azure Queue instance.
The message inserts fine, but azureMessage is always null as the cast back to my derived class.
I did come across a solution on similar lines here but I am yet to try it out.
Is this behavior normal or am I missing something?