我正在使用下面的代码,并且在vs2017中进行调试时,尝试进入获取缓存的代码行,它将跳过其余代码并开始执行下一条消息,而没有任何异常。我将其与天蓝色函数一起使用。有趣的是,当部署到门户网站时,它工作得很好,没有错误。 但是我无法让它在本地正确调试。我正在使用的redis版本是1.2.6。必须降级到此版本,否则我们将收到连接错误。另外,如果我没有使用azure函数,则可以调试。有人经历过吗?感谢您的指导。
我如何使用它:
var cacheValue = _redisCache.GetString(cacheKey);
if (cacheValue != null) // this code is never reached while debugging
组件:
private static ConfigurationOptions _configurationOptions;
private readonly CachePrefix _prefix;
public RedisCache(ConfigurationOptions configurationOptions, CachePrefix prefix)
{
if (configurationOptions == null) throw new ArgumentNullException("configurationOptions");
_configurationOptions = configurationOptions;
_prefix = prefix;
}
private static IDatabase Cache
{
get
{
return Connection.GetDatabase();
}
}
private static readonly Lazy<ConnectionMultiplexer> LazyConnection
= new Lazy<ConnectionMultiplexer>(() => ConnectionMultiplexer.Connect(_configurationOptions));
public static ConnectionMultiplexer Connection
{
get
{
return LazyConnection.Value;
}
}
public string GetString(string key)
{
if (key == null) throw new ArgumentNullException("key");
var value = Cache.StringGet(key);
return value.ToString(); // this is where it will execute but then skip remaining code
}