【问题标题】:Can not connect to azure redis Cache无法连接到 azure redis 缓存
【发布时间】: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


【解决方案1】:

看来你需要改变

ConfigurationManager.ConnectionStrings["Redis"].ToString()

ConfigurationManager.ConnectionStrings["Redis"].ConnectionString

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多