Ver Fonte

EventBus的存储方式与Cache一致

yzp há 1 ano atrás
pai
commit
1b02899cf4
1 ficheiros alterados com 13 adições e 7 exclusões
  1. 13 7
      Admin.NET/Admin.NET.Web.Core/Startup.cs

+ 13 - 7
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -135,17 +135,23 @@ public class Startup : AppStartup
 
             #region Redis消息队列
 
-            //// 替换事件源存储器
-            //options.ReplaceStorer(serviceProvider =>
-            //{
-            //    var cacheProvider = serviceProvider.GetRequiredService<NewLife.Caching.ICacheProvider>();
-            //    // 创建默认内存通道事件源对象,可自定义队列路由key,如:adminnet
-            //    return new RedisEventSourceStorer(cacheProvider, "adminnet", 3000);
-            //});
+            //// 替换事件源存储器为Redis
+            var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
+            if (cacheOptions.CacheType == CacheTypeEnum.Redis.ToString())
+            {
+                options.ReplaceStorer(serviceProvider =>
+                {
+                    var cacheProvider = serviceProvider.GetRequiredService<NewLife.Caching.ICacheProvider>();
+                    // 创建默认内存通道事件源对象,可自定义队列路由key,如:adminnet_eventsource_queue
+                    return new RedisEventSourceStorer(cacheProvider, "adminnet_eventsource_queue", 3000);
+                });
+            }
 
             #endregion Redis消息队列
 
             #region RabbitMQ消息队列
+            // 不明白这里这个框架大部份Cache、Signal分布处理的功能都是用了Redis功能实现的,为什么一些重复的功能还要引用RabbitMQ
+            // 只在EventBus的存储中加入RabbitMQ不是有什么考虑
 
             //// 创建默认内存通道事件源对象,可自定义队列路由key,如:adminnet
             //var eventBusOpt = App.GetConfig<EventBusOptions>("EventBus", true);