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 に答える