public static void SubscribeToEvent <TEvent>(this IBusClient bus, IHost host) where TEvent : IEvent { var handler = (IEventHandler <TEvent>)host.Services .GetService(typeof(IEventHandler <TEvent>)); bus.WithEventHandlerAsync(handler); }
public void SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = (IEventHandler <TEvent>)_webHost.Services .GetService(typeof(IEventHandler <TEvent>)); _bus.WithEventHandlerAsync(handler); }
public BusBuilder Subscribe2Event <TEvent>() where TEvent : IEvent { var handler = (IEventHanler <TEvent>)_webHost.Services.GetService(typeof(IEventHanler <TEvent>)); _bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var eventHandler = _resolver.Resolve <IEventHandler <TEvent> >(); _bus.WithEventHandlerAsync(eventHandler, _queueName); return(this); }
public BusBuilder SubscribeToEvent <Event>() where Event : Message { var handler = (IHandlerMS <Event>)_webHost.Services.GetService(typeof(IHandlerMS <Event>)); _bus.WithEventHandlerAsync(handler); return(this); }
/// <summary> /// Method to subscribe to an event /// </summary> /// <typeparam name="TEvent">The event to subscribe to</typeparam> /// <returns>To make piping possible</returns> public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = (IEventHandler <TEvent>)host.Services.GetService(typeof(IEventHandler <TEvent>)); busClient.WithEventHandlerAsync <TEvent>(handler); return(this); }
public async Task <BusBuilder> SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = (IEventHandler <TEvent>)_webHost.Services .GetService(typeof(IEventHandler <TEvent>)); await _bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent>(string exchangeName = null, string routingKey = null) where TEvent : IEvent { var eventHandler = _resolver.Resolve <IEventHandler <TEvent> >(); _bus.WithEventHandlerAsync(eventHandler, exchangeName, routingKey); return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = _webHost.Services.GetService <IEventHandler <TEvent> >(); _bus.WithEventHandlerAsync(handler); return(this); }
//public BusBuilder SubscribeToEvent<TEvent>() where TEvent : IEvent //{ // var handler = (IEventHandler<TEvent>)_webHost.Services // .GetService(typeof(IEventHandler<TEvent>)); // _bus.WithEventHandlerAsync(handler); // return this; //} //answer public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { using (var serviceScope = _webHost.Services.GetRequiredService <IServiceScopeFactory>().CreateScope()) { var handler = (IEventHandler <TEvent>)serviceScope.ServiceProvider.GetService(typeof(IEventHandler <TEvent>)); _bus.WithEventHandlerAsync(handler); return(this); } }
public BusBuilder SubscribeToEvent <TEvent>() { var handler = (IEventHandler <TEvent>)webHost.Services .GetService(typeof(IEventHandler <TEvent>)); bus.WithEventHandlerAsync(handler); return(this); }
///https://stackoverflow.com/questions/55089755/cannot-resolve-scoped-service/55091641 public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = (IEventHandler <TEvent>)_webHost.Services.CreateScope() .ServiceProvider.GetRequiredService(typeof(IEventHandler <TEvent>)); _bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { Console.WriteLine("STE"); var handler = (IEventHandler <TEvent>)_webHost.Services.GetService(typeof(IEventHandler <TEvent>)); _busClient.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent> () where TEvent : IEvent { var serviceProvider = (IServiceProvider)_webhost.Services.GetService(typeof(IServiceProvider)); var handler = serviceProvider.CreateScope().ServiceProvider.GetRequiredService <IEventHandler <TEvent> > (); // var handler = (IEventHandler<TEvent>) _webhost.Services // .GetService (typeof (IEventHandler<TEvent>)); //this extension method should be created _bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var handler = (IEventHandler <TEvent>)_webHost.Services .GetService(typeof(IEventHandler <TEvent>)); // if(!(_webHost.Services.GetService(typeof(IEventHandler<TEvent>)) is IEventHandler<TEvent> handler)) // throw new NullReferenceException(); _bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { var eventHandlerScopedService = _webHost.Services.GetService <IServiceScopeFactory>(); using (var scope = eventHandlerScopedService.CreateScope()) { var handler = scope.ServiceProvider.GetService <IEventHandler <TEvent> >(); _bus.WithEventHandlerAsync(handler); } //var handler = (IEventHandler<TEvent>)_webHost.Services.GetService(typeof(IEventHandler<TEvent>)); //_bus.WithEventHandlerAsync(handler); return(this); }
public BusBuilder SubScribeToEvent <TEvent>() where TEvent : IEvent { try { var handler = (IEventHandler <TEvent>)_webHost.Services.GetService(typeof(IEventHandler <TEvent>)); _bus.WithEventHandlerAsync(handler); } catch (Exception ex) { throw; } return(this); }
/// <summary> /// Subscribe events. /// </summary> /// <typeparam name="TEvent"></typeparam> /// <returns></returns> public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { // Using microsoft extension dependency to resolve the issue to get events services registered. using (var serviceScope = _webHost.Services.GetRequiredService <IServiceScopeFactory>().CreateScope()) { // Gets the event in service collection. var handler = (IEventHandler <TEvent>)serviceScope.ServiceProvider .GetService(typeof(IEventHandler <TEvent>)); // Register the service in the bus. _bus.WithEventHandlerAsync(handler); return(this); } }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { using (var serviceScope = webHost.Services.CreateScope()) { var service = serviceScope.ServiceProvider; try { var handler = service.GetRequiredService <IEventHandler <TEvent> >(); busClient.WithEventHandlerAsync(handler); } catch (Exception e) { Console.WriteLine(e); throw; } } return(this); }
public BusBuilder SubscribeToEvent <TEvent>() where TEvent : IEvent { _bus.WithEventHandlerAsync <TEvent>(_resolver, _queueName); return(this); }