コマンド オブジェクトを文字列にシリアル化 (および後で逆シリアル化) しようとしています (JavaScriptSerializer を使用することをお勧めします)。コードはコンパイルされますが、コマンド オブジェクトをシリアル化すると、空の Json 文字列、つまり「{}」が返されます。コードを以下に示します。
目的は、コマンド オブジェクトをシリアル化してキューに配置し、後でシリアル化解除して実行できるようにすることです。解決策が .NET 4 で実現できれば、なおさらです。
Iコマンド
public interface ICommand
{
void Execute();
}
コマンド例
public class DispatchForumPostCommand : ICommand
{
private readonly ForumPostEntity _forumPostEntity;
public DispatchForumPostCommand(ForumPostEntity forumPostEntity)
{
_forumPostEntity = forumPostEntity;
}
public void Execute()
{
_forumPostEntity.Dispatch();
}
}
実在物
public class ForumPostEntity : TableEntity
{
public string FromEmailAddress { get; set; }
public string Message { get; set; }
public ForumPostEntity()
{
PartitionKey = System.Guid.NewGuid().ToString();
RowKey = PartitionKey;
}
public void Dispatch()
{
}
}
空文字列の例
public void Insert(ICommand command)
{
// ISSUE: This serialization returns an empty string "{}".
var commandAsString = command.Serialize();
}
シリアル化拡張メソッド
public static string Serialize(this object obj)
{
return new JavaScriptSerializer().Serialize(obj);
}
どんな助けでも大歓迎です。