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" 添加到连接字符串,错误就会消失,因为您会避开该代码路径。