Azure Redis 缓存:"role discovery data is unavailable"
Azure Redis Cache: "role discovery data is unavailable"
我正在尝试连接到 Azure Redis Cache from my local dev machine. I'm using StackExchange.Redis 的实例,如下所示:
var lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
{
return ConnectionMultiplexer.Connect(
$"{redisServerUrl},abortConnect=false,ssl=true,password={redisServerKey},connectTimeout=10000,syncTimeout=10000");
});
当调用 lazyConnection
时,我得到一个 InvalidOperationException
消息:
"role discovery data is unavailable"
和这个单行堆栈跟踪:
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.get_CurrentRoleInstance()
为什么抛出异常,如何避免?
如果您未指定 ConfigurationOptions.ClientName[=17=,StackExchange.Redis 会尝试在幕后发现 RoleInstance 名称] 价值。奇怪的是,您将此错误冒出到您的代码中,因为有问题的代码处理所有异常并默认返回计算机名称。
我怀疑如果将 ",name=XXX" 添加到连接字符串,错误就会消失,因为您会避开该代码路径。
我正在尝试连接到 Azure Redis Cache from my local dev machine. I'm using StackExchange.Redis 的实例,如下所示:
var lazyConnection = new Lazy<ConnectionMultiplexer>(() =>
{
return ConnectionMultiplexer.Connect(
$"{redisServerUrl},abortConnect=false,ssl=true,password={redisServerKey},connectTimeout=10000,syncTimeout=10000");
});
当调用 lazyConnection
时,我得到一个 InvalidOperationException
消息:
"role discovery data is unavailable"
和这个单行堆栈跟踪:
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.get_CurrentRoleInstance()
为什么抛出异常,如何避免?
StackExchange.Redis 会尝试在幕后发现 RoleInstance 名称] 价值。奇怪的是,您将此错误冒出到您的代码中,因为有问题的代码处理所有异常并默认返回计算机名称。
我怀疑如果将 ",name=XXX" 添加到连接字符串,错误就会消失,因为您会避开该代码路径。