Example #1
0
        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> >();
        }
Example #2
0
 public MassTransitMessageDataHubLifetimeManager(HubLifetimeManagerOptions <THub> hubLifetimeManagerOptions,
                                                 IBus bus,
                                                 IHubProtocolResolver hubProtocolResolver,
                                                 IMessageDataRepository repository)
     : base(hubLifetimeManagerOptions, bus, bus.CreateClientFactory().CreateRequestClient <GroupManagement <THub> >(), hubProtocolResolver)
 {
     _repository = repository;
 }
Example #3
0
 protected BaseMassTransitHubLifetimeManager(HubLifetimeManagerOptions <THub> hubLifetimeManagerOptions,
                                             IPublishEndpoint publishEndpoint,
                                             IRequestClient <GroupManagement <THub> > groupManagementRequestClient,
                                             IHubProtocolResolver hubProtocolResolver)
 {
     _hubLifetimeManagerOptions   = hubLifetimeManagerOptions;
     PublishEndpoint              = publishEndpoint;
     GroupManagementRequestClient = groupManagementRequestClient;
     Protocols = hubProtocolResolver.AllProtocols;
 }
Example #4
0
        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);
        }
Example #5
0
        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)
 {
 }
Example #7
0
 public MassTransitHubLifetimeManager(HubLifetimeManagerOptions <THub> options, IHubLifetimeScopeProvider scopeProvider, IHubProtocolResolver resolver)
 {
     _options       = options;
     _scopeProvider = scopeProvider;
     _resolver      = resolver;
 }