public void RegisterHandler(string messageType, RequestHandlerDelegate handler, string?messageId = null) { var eventName = messageType; if (string.IsNullOrEmpty(messageId)) { MessageHandlerCollection.AddHandler(message => message.MessageType == messageType, handler); } else { MessageHandlerCollection.AddHandler( message => message.MessageType == messageType && message.ParentMessageId == messageId, handler, _clock.UtcNow + DefaultExpiredDuration); } }
public void AddHandler(MessageID msgId, MessageHandler handler) { if (handler == null) { return; } if (m_handlerDict.ContainsKey(msgId)) { m_handlerDict[msgId].AddHandler(handler); } else { MessageHandlerCollection mhc = new MessageHandlerCollection(); mhc.AddHandler(handler); m_handlerDict.Add(msgId, mhc); } }