/// <summary> /// 注册订阅方法 /// </summary> public static void RegisterSubscribe <T>(string key, DoSub dosub) { cache.RegisterSubscribe <T>(key, dosub); }
/// <summary> /// 注册通道并执行对应方法 /// </summary> /// <typeparam name="T">数据类型</typeparam> /// <param name="serviceCollection"></param> /// <param name="Key">通道名</param> /// <param name="doSub">方法</param> public static IServiceCollection Subscribe <T>(this IServiceCollection serviceCollection, Models.RedisChannels Key, DoSub doSub) where T : class { Task.Run(() => { var _subscribe = connection.GetSubscriber(); _subscribe.Subscribe(Key.ToString(), delegate(RedisChannel channel, RedisValue message) { T t = Recieve <T>(message); doSub(t); }); }); return(serviceCollection); }