【发布时间】:2013-05-18 04:36:38
【问题描述】:
我为我的网页数据库构建了一个进程外缓存。虽然当我尝试用它做某事(Set,Get)时,我收到以下错误:
A task was canceled
这是我的 redis 缓存代码。任何帮助都会很棒。谢谢
public class RedisCache : ICache
{
private RedisConnection redis;
public RedisCache()
{
redis = new RedisConnection("127.0.0.1");
redis.Open();
}
public object Get(string key)
{
var method = redis.Strings.Get(0, key);
if (method == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream(method.Result);
object obj = bf.Deserialize(ms);
return obj;
}
public void Set(string key, object value)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, value);
redis.Strings.Set(0, key, ms.ToArray());
}
}
【问题讨论】:
-
您使用的是哪个版本?如果我们假设它正确打开,那应该没问题。我不在电脑前,但我可以稍后添加示例
-
任何:参考属性、文件属性(在资源管理器中右键单击 booksleeve.DLL),或者 nuget 包管理器会告诉您
-
k;您可以将“打开”行更改为:
redis.Wait(redis.Open());吗?我想知道它是否无法打开... -
可能是防火墙; redis 是在同一台云机上运行的吗?还是其他?
-
我的意思是:你大概有一个 redis 服务器在某个地方运行。那是什么地方?是在同一台机器上吗?如果没有 - 你知道它的名字吗?知识产权? (我不需要知道名字/IP是什么……我只是问你对服务器了解多少)
标签: c# redis azure-caching booksleeve