Ejemplo n.º 1
0
        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);
        }