ServiceStack Redisクライアントのバグ
2850 ワード
client.Set("key", 0);
redis , 0
,
private static byte[] ToBytes<T>(T value)
{
var bytesValue = value as byte[];
if (bytesValue == null && !Equals(value, default(T)))
bytesValue = value.ToJson().ToUtf8Bytes();
return bytesValue;
}
問題はこのdefault(T)にある.
intのdefaultは0なのでnullを返します
この理屈で、私がfalseに入れたら、彼はboolのdefaultで、空白の文字で、実験してみたら本当に
if (bytesValue == null &&(value is ValueType || !Equals(value, default(T))))
簡単に直しましょう.
ServiceStackのこのクライアントをしばらく使った後、彼の中にはまだ問題があることに気づいた.
これだけで有料です