Ejemplo n.º 1
0
        public void Subscribe(RabbitMQCallback callback)
        {
            if (callback == null)
            {
                _logService.Write("RabbitMQService.Subscribe", "callback 无效", TraceEventType.Error);
                throw new ArgumentNullException("callback");
            }

            if (_allMessageCallbackList.Contains(callback) == false)
            {
                lock (_allMessageCallbackList)
                {
                    if (_allMessageCallbackList.Contains(callback) == false)
                    {
                        _allMessageCallbackList.Add(callback);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void Subscribe(string routingKey, RabbitMQCallback callback)
        {
            if (String.IsNullOrEmpty(routingKey))
            {
                _logService.Write("RabbitMQService.Subscribe", "routingKey 无效", TraceEventType.Error);
                throw new ArgumentNullException("routingKey");
            }

            if (callback == null)
            {
                _logService.Write("RabbitMQService.Subscribe", "callback 无效", TraceEventType.Error);
                throw new ArgumentNullException("callback");
            }

            if (_rottingKeyCallbackList.ContainsKey(routingKey) == false)
            {
                lock (_rottingKeyCallbackList)
                {
                    if (_rottingKeyCallbackList.ContainsKey(routingKey) == false)
                    {
                        _rottingKeyCallbackList.Add(routingKey, new List <RabbitMQCallback>());
                    }
                }
            }

            List <RabbitMQCallback> actionList = _rottingKeyCallbackList[routingKey];

            if (actionList.Contains(callback) == false)
            {
                lock (actionList)
                {
                    if (actionList.Contains(callback) == false)
                    {
                        actionList.Add(callback);
                    }
                }
            }
        }
        public void Subscribe(string routingKey, RabbitMQCallback callback)
        {
            if (String.IsNullOrEmpty(routingKey))
            {
                throw new ArgumentNullException("routingKey");
            }

            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            if (_callbackList.ContainsKey(routingKey) == false)
            {
                lock (_callbackList)
                {
                    if (_callbackList.ContainsKey(routingKey) == false)
                    {
                        _callbackList.Add(routingKey, new List <RabbitMQCallback>());
                    }
                }
            }

            List <RabbitMQCallback> actionList = _callbackList[routingKey];

            if (actionList.Contains(callback) == false)
            {
                lock (actionList)
                {
                    if (actionList.Contains(callback) == false)
                    {
                        actionList.Add(callback);
                    }
                }
            }
        }