Exemplo n.º 1
0
 public MessageRouter(List <MessagePipeline> messagePipelines, MessagePipeline unhandledEventPipeline)
 {
     foreach (var pipeline in messagePipelines)
     {
         foreach (var messageType in pipeline.HandledMessageTypes)
         {
             if (_routingDictionary.TryGetValue(messageType, out var existingPipelinesForMessageType))
             {
                 existingPipelinesForMessageType.Add(pipeline);
             }
             else
             {
                 var newPipelinesForMessageType = new List <MessagePipeline>();
                 newPipelinesForMessageType.Add(pipeline);
                 _routingDictionary.Add(messageType, newPipelinesForMessageType);
             }
         }
     }
     _unhandledEventPipeline = unhandledEventPipeline;
 }