C# 无法使用StackExchangeDiscacheClient订阅kespace事件。订阅(<;T>;

C# 无法使用StackExchangeDiscacheClient订阅kespace事件。订阅(<;T>;,c#,redis,stackexchange.redis,C#,Redis,Stackexchange.redis,我正在使用StackExchange.Redis库连接到基于windows的Redis服务器。服务器配置为 通知键空间事件“AKE” 代码非常基本,因为我是Redis新手,因此我正在一个简单的windows窗体应用程序中进行实验。 这就是我试图触发事件的原因: var serializer = new NewtonsoftSerializer(); var cacheClient = new StackExchangeRedisCacheClient(SafeConn, serializer,

我正在使用StackExchange.Redis库连接到基于windows的Redis服务器。服务器配置为 通知键空间事件“AKE”

代码非常基本,因为我是Redis新手,因此我正在一个简单的windows窗体应用程序中进行实验。 这就是我试图触发事件的原因:

var serializer = new NewtonsoftSerializer();
var cacheClient = new StackExchangeRedisCacheClient(SafeConn, serializer, "");
cacheClient.Add<FOO>(key, fooInstance);
我设法赶上了这次活动。 Hovewer,如果我尝试使用以下代码:

var serializer = new NewtonsoftSerializer();
var cacheClient = new StackExchangeRedisCacheClient(SafeConn, serializer, "");
cacheClient.Subscribe<FOO>(new RedisChannel("__keyspace@0__:*", 
RedisChannel.PatternMode.Pattern), x =>
{
    MessageBox.Show(x.Title);
});
var serializer=newnewtonsoftserializer();
var cacheClient=新的StackExchangeDiscacheClient(SafeConn,序列化程序,“”);
cacheClient.Subscribe(新的RedisChannel(“__keyspace@0__:*", 
RedisChannel.PatternMode.Pattern),x=>
{
MessageBox.Show(x.Title);
});

事件不会触发。我可能不擅长谷歌搜索,但我找不到关于这个话题的任何东西。我将非常感谢您的帮助

我尝试提供不同的模式,甚至提供了一个精确的键和PatternMode.Literal。似乎不会影响结果。当使用ISubscriber订阅时,通道值包含键,因此我可能可以提取它并使用它获取值并执行操作。感觉就像发明了一辆自行车,当它可能在一个扩展中实现时。这与扩展更相关。也许在那里打开一个虫子。或者尝试不同的库,比如我开发的一个也提供键空间通知的库。我能够通过基本订阅实现我所需要的功能(如果我正确地理解了与您建议的库几乎相同的功能,那么这就是问题所在),而且它的工作非常出色。无论如何谢谢。我试过提供不同的模式,甚至提供了一个精确的键和PatternMode.Literal。似乎不会影响结果。当使用ISubscriber订阅时,通道值包含键,因此我可能可以提取它并使用它获取值并执行操作。感觉就像发明了一辆自行车,当它可能在一个扩展中实现时。这与扩展更相关。也许在那里打开一个虫子。或者尝试不同的库,比如我开发的一个也提供键空间通知的库。我能够通过基本订阅实现我所需要的功能(如果我正确地理解了与您建议的库几乎相同的功能,那么这就是问题所在),而且它的工作非常出色。无论如何,谢谢你。
var serializer = new NewtonsoftSerializer();
var cacheClient = new StackExchangeRedisCacheClient(SafeConn, serializer, "");
cacheClient.Subscribe<FOO>(new RedisChannel("__keyspace@0__:*", 
RedisChannel.PatternMode.Pattern), x =>
{
    MessageBox.Show(x.Title);
});