Я пытаюсь использовать типизированный клиент для ServiceStack.Redis; но всякий раз, когда я использую тип класса, он не сохраняет значения и просто возвращает значение по умолчанию для каждого из его свойств. Но если я просто использую простой тип данных, он работает.ServiceStack.Redis набрал клиента, не сохраняя значения
Я использую ServiceStack.Redis версии 3.9.71, MS Visual Studio 2013 Ultimate и MSOpenTechRedis для Windows 64-разрядной версии 2.6.12, работающей на localhost.
Вот код, чтобы воспроизвести эту проблему:
using ServiceStack.Redis;
class Program
{
static void Main(string[] args)
{
using (IRedisClient client = new RedisClient())
{
var typedClient = client.As<TwoInts>();
TwoInts twoIntsSave = new TwoInts(3, 5);
typedClient.SetEntry("twoIntsTest", twoIntsSave);
TwoInts twoIntsLoad = typedClient.GetValue("twoIntsTest");
//twoIntsLoad is incorrectly (0, 0)
}
using (IRedisClient client = new RedisClient())
{
var typedClient = client.As<int>();
int intSave = 4;
typedClient.SetEntry("intTest", intSave);
int intLoad = typedClient.GetValue("intTest");
//intLoad is correctly 4
}
}
}
class TwoInts
{
public int Int1;
public int Int2;
public TwoInts(int int1, int int2)
{
Int1 = int1;
Int2 = int2;
}
}