【发布时间】:2016-07-05 05:02:03
【问题描述】:
我无法连接到 Azure Redis 缓存。我遇到了一个异常:StackExchange.Redis.dll 中发生了“System.NullReferenceException”类型的异常,但未在用户代码中处理。我现在有点困惑。我是否仍然可以使用连接到本地主机时可用的 pub/sub 功能,或者 azure redis 缓存仅用于存储?我使用调试器并检查多路复用器的 isConnected 属性,isConnected 属性为 false。
static ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(ConfigurationManager.ConnectionStrings["Redis"].ToString());
IDatabase cache = redis.GetDatabase();
// Perform cache operations using the cache object...
// Simple put of integral data types into the cache
cache.StringSet("key1", "value");
cache.StringSet("key2", 25);
ISubscriber sub = redis.GetSubscriber();
const string channelName = "Transactions";
const string transTblName = "Transaction";
sub.Publish(channelName, transJson);
【问题讨论】:
-
哪一行代码得到了空引用?
-
@Casey sub.Publish(channelName, transJson);和 cache.StringSet("key2", 25);我使用调试器并检查多路复用器是否已连接属性,isconnected 属性为假。但我很确定我从 azure 门户复制粘贴的连接字符串是正确的,因为我已经重新复制和粘贴超过 4 或 5 次。
-
我想我看到了这个问题。将 ConfigurationManager.ConnectionStrings["Redis"].ToString() 更改为 ConfigurationManager.ConnectionStrings["Redis"].ConnectionString
-
@Casey 我更改了这一行,但仍然出现空引用错误
-
你能验证连接字符串是你期望它在调试器中的样子吗?
标签: c# azure stackexchange.redis