Beispiel #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageHub"/> class.
 /// </summary>
 /// <param name="messageBus">The message bus.</param>
 /// <param name="connectionManager">The connection manager.</param>
 /// <param name="traceManager">The trace manager.</param>
 /// <param name="sessionValidatorService">The session validator service.</param>
 /// <param name="sessionMappings">The session mappings.</param>
 /// <param name="counters">The counters.</param>
 /// <param name="unblockGroupSend">if set to <c>true</c> [unblock group send].</param>
 public MessageHub(
     IMessageBus messageBus,
     IConnectionManager connectionManager,
     ITraceManager traceManager,
     ISessionValidatorService sessionValidatorService,
     ISessionMappings sessionMappings,
     IMagicHubPerformanceCounterManager counters,
     bool unblockGroupSend)
     : this(messageBus, connectionManager, traceManager, sessionValidatorService, sessionMappings, counters)
 {
     _unblockGroupSend = unblockGroupSend;
 }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TopicBroker" /> class.
        /// </summary>
        /// <param name="traceManager">The trace manager to use for tracing. Should contain a trace
        /// source named SignalR.MagicHub</param>
        /// <param name="messageHub">The message hub.</param>
        /// <param name="sessionValidatorService">The session validator service.</param>
        /// <param name="sessionStateProvider">The session state provider.</param>
        /// <param name="sessionMappingStore">The session mapping store.</param>
        /// <param name="hubReleaser">Optional. The hub releaser. Can release hub instance from an IoC store.</param>
        public TopicBroker(
            ITraceManager traceManager,
            IMessageHub messageHub,
            ISessionValidatorService sessionValidatorService,
            ISessionStateProvider sessionStateProvider,
            ISessionMappings sessionMappingStore,
            IHubReleaser hubReleaser)
        {
            AssertNotNull(traceManager, "traceManager");
            AssertNotNull(messageHub, "messageHub");
            AssertNotNull(sessionValidatorService, "sessionValidatorService");
            AssertNotNull(messageHub, "sessionStateProvider");
            AssertNotNull(messageHub, "sessionMappingStore");

            _traceManager            = traceManager;
            _messageHub              = messageHub;
            _sessionValidatorService = sessionValidatorService;
            _sessionStateProvider    = sessionStateProvider;
            _sessionToConnectionId   = sessionMappingStore;

            // This is optional
            _hubReleaser = hubReleaser;
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MessageHub"/> class.
        /// </summary>
        /// <param name="messageBus">The message bus.</param>
        /// <param name="connectionManager">The connection manager.</param>
        /// <param name="traceManager">The trace manager.</param>
        /// <param name="sessionValidatorService">The session validator service.</param>
        /// <param name="sessionMappings">The session mappings.</param>
        /// <param name="counters">The counters.</param>
        public MessageHub(
            IMessageBus messageBus,
            IConnectionManager connectionManager,
            ITraceManager traceManager,
            ISessionValidatorService sessionValidatorService,
            ISessionMappings sessionMappings,
            IMagicHubPerformanceCounterManager counters)
        {
            var context = connectionManager.GetHubContext <TopicBroker, ITopicBrokerClientProxy>();

            _messageBus      = messageBus;
            Clients          = context.Clients;
            Groups           = context.Groups;
            _traceManager    = traceManager;
            _sessionMappings = sessionMappings;
            _counters        = counters;
            if (sessionValidatorService != null)
            {
                sessionValidatorService.SessionExpired   += SessionValidatorServiceOnSessionExpired;
                sessionValidatorService.SessionKeptAlive += SessionValidatorServiceOnSessionKeptAlive;
                sessionValidatorService.SessionExpiring  += SessionValidatorServiceSessionExpiring;
            }
        }