Example #1
0
 public IAOPResult RegisterDispatcher(IEventDispatcher dispatcher)          //注册消息分发器
 {
     if (!this.dispatchers.ContainsKey(dispatcher))
     {
         lock (this.dispatchers) {
             if (!this.dispatchers.ContainsKey(dispatcher))
             {
                 var storage = this.GetStorage(this.MainStorageName);
                 storage.Subscribe(this.NotifyQueueName, r => dispatcher.OnMessageReceived(this, r));
                 dispatchers.Add(dispatcher, storage);
             }
         }
     }
     return(AOPResult.Success());
 }
Example #2
0
 public IAOPResult RegisterDispatcher(IEventDispatcher dispatcher)
 {
     if (!this.dispatchers.ContainsKey(dispatcher))
     {
         lock (this.dispatchers) {
             if (!this.dispatchers.ContainsKey(dispatcher))
             {
                 var redis = new RedisSubscriberConnection(this.Redis.Host, this.Redis.Port);
                 redis.Open();
                 redis.Subscribe(this.NotifyQueueName, (k, r) => dispatcher.OnMessageReceived(this, r));
                 dispatchers.Add(dispatcher, redis);
             }
         }
     }
     return(AOPResult.Success());
 }