Windows Azure キュー メッセージ (CloudQueueMessage クラス) によって提供されるものよりもいくつかのプロパティをキュー メッセージに必要とするユース ケースに取り組んでいます。ほとんどが保護されているため、CloudQueueMessage のほとんどのプロパティを使用できません。
そのため、CloudQueueMessage を継承し、追加のプロパティを派生クラスに追加することを考えましたが失敗しました。私の派生クラスは以下のようになります。
public class AzureQueueMessage : CloudQueueMessage
{
public AzureQueueMessage(string content): base(content)
{
}
//My new property
public string Label { get; set; }
}
メッセージの挿入と取得の残りのコードは次のようになります。
AzureQueueMessage message = new AzureQueueMessage("testing");
cloudQueue.AddMessage(message);
CloudQueueMessage qmessage = cloudQueue.GetMessage();
AzureQueueMessage azureMessage = qmessage as AzureQueueMessage;
ここで、cloudQueue は私の Azure Queue インスタンスです。
メッセージは正常に挿入されますが、派生クラスへのキャスト バックとして azureMessage は常に null です。
ここで同様の行で解決策に出くわしましたが、まだ試していません。
この動作は正常ですか、それとも何か不足していますか?