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); } } } }
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); } } } }