public static void AddSignalRHubConsumers <THub>(this IServiceCollectionConfigurator configurator, Action <IHubLifetimeManagerOptions <THub> > configureHubLifetimeOptions = null) where THub : Hub { var options = new HubLifetimeManagerOptions <THub>(); configureHubLifetimeOptions?.Invoke(options); configurator.Collection.AddSingleton(options); configurator.Collection.AddSingleton(GetLifetimeManager <THub>); configurator.AddRequestClient <GroupManagement <THub> >(options.RequestTimeout); //TODO: check if use options.UseMessageData // Add Registrations for Regular Consumers configurator.AddConsumer <AllConsumer <THub> >(); configurator.AddConsumer <ConnectionConsumer <THub> >(); configurator.AddConsumer <GroupConsumer <THub> >(); configurator.AddConsumer <GroupManagementConsumer <THub> >(); configurator.AddConsumer <UserConsumer <THub> >(); // Add Registrations for Message Data Consumers configurator.AddConsumer <AllMessageDataConsumer <THub> >(); configurator.AddConsumer <ConnectionMessageDataConsumer <THub> >(); configurator.AddConsumer <GroupMessageDataConsumer <THub> >(); configurator.AddConsumer <GroupManagementConsumer <THub> >(); configurator.AddConsumer <UserMessageDataConsumer <THub> >(); }
public MassTransitMessageDataHubLifetimeManager(HubLifetimeManagerOptions <THub> hubLifetimeManagerOptions, IBus bus, IHubProtocolResolver hubProtocolResolver, IMessageDataRepository repository) : base(hubLifetimeManagerOptions, bus, bus.CreateClientFactory().CreateRequestClient <GroupManagement <THub> >(), hubProtocolResolver) { _repository = repository; }
protected BaseMassTransitHubLifetimeManager(HubLifetimeManagerOptions <THub> hubLifetimeManagerOptions, IPublishEndpoint publishEndpoint, IRequestClient <GroupManagement <THub> > groupManagementRequestClient, IHubProtocolResolver hubProtocolResolver) { _hubLifetimeManagerOptions = hubLifetimeManagerOptions; PublishEndpoint = publishEndpoint; GroupManagementRequestClient = groupManagementRequestClient; Protocols = hubProtocolResolver.AllProtocols; }
public static void AddSignalRHub <THub>(this IServiceCollectionBusConfigurator busConfigurator, Action <IHubLifetimeManagerOptions <THub> > configureHubLifetimeOptions = null) where THub : Hub { var options = new HubLifetimeManagerOptions <THub>(); configureHubLifetimeOptions?.Invoke(options); busConfigurator.Collection.TryAddSingleton <IHubLifetimeScopeProvider, DependencyInjectionHubLifetimeScopeProvider>(); busConfigurator.Collection.AddSingleton(provider => GetMassTransitHubLifetimeManager(provider, options)); busConfigurator.Collection.AddSingleton <HubLifetimeManager <THub> >(sp => sp.GetRequiredService <MassTransitHubLifetimeManager <THub> >()); busConfigurator.AddRequestClient <GroupManagement <THub> >(options.RequestTimeout); RegisterConsumers <THub>(busConfigurator); }
static MassTransitHubLifetimeManager <THub> GetMassTransitHubLifetimeManager <THub>(IServiceProvider provider, HubLifetimeManagerOptions <THub> options) where THub : Hub { var scopeProvider = provider.GetRequiredService <IHubLifetimeScopeProvider>(); var resolver = provider.GetRequiredService <IHubProtocolResolver>(); return(new MassTransitHubLifetimeManager <THub>(options, scopeProvider, resolver)); }
public MassTransitHubLifetimeManager(HubLifetimeManagerOptions <THub> hubLifetimeManagerOptions, IBus bus, IHubProtocolResolver hubProtocolResolver) : base(hubLifetimeManagerOptions, bus, bus.CreateClientFactory().CreateRequestClient <GroupManagement <THub> >(), hubProtocolResolver) { }
public MassTransitHubLifetimeManager(HubLifetimeManagerOptions <THub> options, IHubLifetimeScopeProvider scopeProvider, IHubProtocolResolver resolver) { _options = options; _scopeProvider = scopeProvider; _resolver = resolver; }