public static IApplicationBuilder UseRabbitListener(this IApplicationBuilder app) { Bus = app.ApplicationServices.GetService <AutoSubscriber>(); var lifeTime = app.ApplicationServices.GetService <IApplicationLifetime>(); var autoSubscriber = app.ApplicationServices.GetService <IAutoSubscriber>(); lifeTime.ApplicationStarted.Register(() => { autoSubscriber.Subscribe(null, Assembly.GetExecutingAssembly()); autoSubscriber.SubscribeAsync(Assembly.GetExecutingAssembly()); }); lifeTime.ApplicationStopped.Register(callback: () => Bus.Dispose()); return(app); }