コード例 #1
0
        private void _publishBtn_Click(object sender, EventArgs e)
        {
            string eventType = _eventTypeCbo.Text;

            if (string.IsNullOrEmpty(eventType))
            {
                this.InformUser("You must select the type of event to publish before attempting to publish an event");
                return;
            }

            string message = _eventTxt.Text;

            if (string.IsNullOrEmpty(message))
            {
                this.InformUser("You should add a message to the event before publishing it");
                return;
            }

            object eventMsg = null;

            switch (eventType)
            {
            case "amp.examples.gui.messages.EventTypeA":
                eventMsg = new EventTypeA()
                {
                    Message = message
                };
                break;

            case "amp.examples.gui.messages.EventTypeB":
                eventMsg = new EventTypeB()
                {
                    Message = message
                };
                break;

            default:
                this.WarnUser("I don't know how to send the type of event you selected.  This should not have happened.");
                break;
            }

            try
            {
                this.EventBus.Publish(eventMsg);
            }
            catch (Exception ex)
            {
                this.Log(ex.ToString());
            }
        }
コード例 #2
0
        public void Handle_EventTypeB(EventTypeB message, IDictionary <string, string> headers)
        {
            _log.Debug("Recieved an event of Type B with headers: " + headers.Flatten());

            try
            {
                this.Log(
                    string.Format("Received an event of type B, message: {0}{1}\t{2}",
                                  message.Message,
                                  Environment.NewLine,
                                  headers.Flatten()
                                  )
                    );
            }
            catch (Exception ex)
            {
                this.Log(ex.ToString());
            }
        }