2

我正在使用 ICacheClient 和 Redis 在我的应用程序中缓存值。

在一种情况下,我需要缓存枚举的值。

枚举看起来像这样

public enum Status
{
    OK,
    Warn,
    Error
}

我正在将值添加到缓存中:

cacheClient.Add<Status>(myKey, Status.Warn);

当我去检索这样的值时:

Status status;
status = cacheClient.Get<Status>(myKey);

由于缓存客户端返回的值与枚举值不匹配,因此引发异常。

我似乎得到了一个已经逃脱"标记的值,例如:\"Warn\"

难道我做错了什么?

4

1 回答 1

3

修复似乎正在使用 ServiceStack 版本 3.9.42.0 或更高版本。缓存将字符串数据存储为 JSON,因此问题可能与最近关闭的 ServiceStack.Text修复有关。

于 2013-03-27T19:18:28.983 回答