public void Subscribe <TModel, THandler>() where THandler : IEventBusHandler <TModel> where TModel : EventModel { if (_subscribeBus != null) { throw new Exception("Subscription not terminated"); } var handler = (IEventBusHandler <TModel>)Activator.CreateInstance <THandler>(); var queueName = typeof(TModel).Name; _subscribeBus = MassTransitFactory.Create(_options, (cfg, host) => { cfg.ReceiveEndpoint(host, queueName, e => { e.Consumer(() => new MassTransitConsumerAdapter <TModel>(handler)); }); }); _subscribeBus.Start(); }
public void Publish <TModel>(TModel eventModel) where TModel : EventModel { var busControl = MassTransitFactory.Create(_options); busControl.Publish(eventModel).Wait(); }