Пример #1
0
        protected void Subscribe()
        {
            MessageBus.Subscribe(RoutedEventQueue, (messageBody, messageProperties, receivedInfo) =>
                                 Task.Factory.StartNew(() =>
            {
                if (OnRecived == null)
                {
                    return;
                }
                RoutedEventMessage message = Serializer.BytesToMessage <RoutedEventMessage>(messageBody);
                if (message == null)
                {
                    throw new Exception("无效的消息");
                }

                var errors = message.Valid();
                if (errors.Any())
                {
                    throw new Exception(string.Format("无效的消息:{0}", string.Join(";", errors)));
                }

                OnRecived(message);
            })
                                 );
        }
Пример #2
0
        protected virtual void SendRoutedEventMessage(RoutedEventBase routedEvent, object sender,
                                                      RoutedEventArgs args, RaiseScope raiseScope = null)
        {
            var message = new RoutedEventMessage(routedEvent, CreateCurrentApplicationSender(sender), args);

            RoutedEventMessageBus.Send(message, raiseScope);
        }
Пример #3
0
        protected virtual void OnRecivedRoutedEventMessage(RoutedEventMessage message)
        {
            Delegate handlers = null;

            if (_routedEvents.TryGetValue(message.RoutedEventName, out handlers))
            {
                handlers.DynamicInvoke(message.Sender, message.Args);
            }
        }
Пример #4
0
 protected virtual void Publish(RoutedEventMessage message, RaiseScope raiseScope = null)
 {
     using (IPublishChannel channel = MessageBus.OpenPublishChannel())
     {
         var messageProperties = new MessageProperties()
         {
             DeliveryMode = 2
         };
         var body = Serializer.MessageToBytes(message);
         channel.Publish(RoutedEventExchange, GetRoutingKey(raiseScope), messageProperties, body);
     }
 }
 protected virtual void Publish(RoutedEventMessage message, RaiseScope raiseScope = null)
 {
     using (IPublishChannel channel = MessageBus.OpenPublishChannel())
     {
         var messageProperties = new MessageProperties()
         {
             DeliveryMode = 2
         };
         var body = Serializer.MessageToBytes(message);
         channel.Publish(RoutedEventExchange, GetRoutingKey(raiseScope), messageProperties, body);
     }
 }
        public void Send(RoutedEventMessage message, RaiseScope raiseScope = null)
        {
            Preconditions.CheckNotNull(message, "message");

            Publish(message, raiseScope);
        }
Пример #7
0
        public void Send(RoutedEventMessage message, RaiseScope raiseScope = null)
        {
            Preconditions.CheckNotNull(message, "message");

            Publish(message, raiseScope);
        }