public virtual async Task PublishAsync(IntegrationEvent integrationEvent) { var eventName = _subsManager.GetEventKey(integrationEvent.GetType()); var payload = JsonSerializer.Serialize(integrationEvent, _jsonOptions.JsonSerializerOptions); await ProcessEventAsync(eventName, payload).ConfigureAwait(false); }
public void Subscribe <T, TH>() where T : IntegrationEvent where TH : IIntegrationEventHandler <T> { var eventName = _subsManager.GetEventKey <T>(); DoInternalSubscription(eventName); _subsManager.AddSubscription <T, TH>(); }