/// <summary> /// Publish the specified event. /// </summary> /// <param name="event">Event.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> public void Publish <T>(T @event) where T : Event { if (bus == null) { throw new ApplicationException("Rubbit MQ is not intialized yet."); } var innerMessage = JsonConvert.SerializeObject(@event); var eventType = @event.GetType(); var typeName = eventType.ToString(); var topicName = typeName.Substring(0, typeName.IndexOf(".", StringComparison.CurrentCulture)); var message = new PublishedMessage { MessageTypeName = eventType.AssemblyQualifiedName, SerialisedMessage = innerMessage }; bus.PublishAsync(message, topicName).Wait(); }
public void Publish <T>(T @event) where T : Event { if (bus != null) { var innerMessage = JsonConvert.SerializeObject(@event); var eventType = @event.GetType(); var typeName = eventType.ToString(); var topicName = typeName.Substring(0, typeName.LastIndexOf(".")); var message = new PublishedMessage() { MessageTypeName = eventType.AssemblyQualifiedName, SerialisedMessage = innerMessage }; bus.PublishAsync(message, topicName).Wait(); } else { throw new ApplicationException("RabbitMqBus is not yet initialised"); } }