使用ServiceStack将System.Data.Dataset存储和检索到Redis

时间:2013-10-17 17:35:08

标签: redis servicestack

我只有几个小时到 Redis ServiceStack.Redis 并尝试学习它。 以前我使用过ASP.NET缓存,我将DataSet存储到需要时进行缓存和检索。

我正在尝试使用 ServiceStack.Redis 完成相同的操作,但它会引发异常:

 An unhandled exception of type 'System.StackOverflowException' occurred in ServiceStack.Text.dll

这是代码

static void Main(string[] args)
    {
        var redisClient = new RedisClient("localhost");

        DataSet ds = new DataSet();
        ds.Tables.Add("table1");
        ds.Tables[0].Columns.Add("col1", typeof(string));
        DataRow rw = ds.Tables[0].NewRow();
        rw[0] = "samtech";
        ds.Tables[0].Rows.Add(rw);

        //following line raises exception
        redisClient.Set<System.Data.DataSet>("my_ds", ds, DateTime.Now.AddSeconds(60));
    }

有人能告诉我我做错了什么吗?
我可以只将自定义类存储到Redis而不是DataSet吗?

1 个答案:

答案 0 :(得分:1)

DataSet是非常差的序列化候选者,因此任何ServiceStack库都不支持它,只使用干净的POCO模型。