【发布时间】:2017-03-15 01:57:10
【问题描述】:
我正在尝试使用 StackExchange.Redis.StrongName V1.2.1 连接到 Azure Redis 缓存
我的代码是这样的
string redisServer = ConfigManager.GetValue("RedisServer");
redis = ConnectionMultiplexer.Connect(redisServer);
redisDB = redis.GetDatabase();
var serializedValue = redisDB.StringGet(key);
最后一行总是抛出这个异常
{“拒绝访问注册表项‘238’。”}
在 Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) 在 Microsoft.Win32.RegistryKey.InternalGetValue(字符串名称, 对象 defaultValue、布尔值 doNotExpand、布尔值 checkSecurity)在 Microsoft.Win32.RegistryKey.GetValue(字符串名称)在 System.Diagnostics.PerformanceMonitor.GetData(字符串项)在 System.Diagnostics.PerformanceCounterLib.GetPerformanceData(字符串 项目)在 System.Diagnostics.PerformanceCounterLib.GetCategorySample(字符串 类别)在 System.Diagnostics.PerformanceCounterLib.GetCategorySample(字符串 机,字符串类别)在 System.Diagnostics.PerformanceCounter.NextSample() 在 System.Diagnostics.PerformanceCounter.NextValue() 在 StackExchange.Redis.PerfCounterHelper.TryGetSystemCPU(单个&值)
在 StackExchange.Redis.ConnectionMultiplexer.GetSystemCpuPercent()
在 StackExchange.Redis.ConnectionMultiplexer.GetThreadPoolAndCPUSummary() 在 StackExchange.Redis.ExceptionFactory.NoConnectionAvailable(布尔 includeDetail、RedisCommand 命令、Message 消息、ServerEndPoint 服务器,ServerEndPoint[] serverSnapshot) 在 StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](消息 消息,ResultProcessor1 processor, ServerEndPoint server) at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor1 处理器,ServerEndPoint 服务器)在 StackExchange.Redis.RedisDatabase.StringGet(RedisKey 键,CommandFlags flags) 在 CacheManager.Get[T](String key)
使用本地 Redis 缓存服务器时,相同的代码也可以正常工作。
有什么建议可以解决这个问题吗?
【问题讨论】:
-
这是什么类型的程序? Azure 函数?
-
我相信你需要对 Azure Redis 进行身份验证。
标签: c# azure redis stackexchange.redis azure-redis-cache