예제 #1
0
        public override void Initialize(IDependencyResolver resolver)
        {
            _proxyGenerator = resolver.Resolve <IJavaScriptProxyGenerator>();
            _manager        = resolver.Resolve <IHubManager>();
            _binder         = resolver.Resolve <IParameterResolver>();
            _requestParser  = resolver.Resolve <IHubRequestParser>();

            base.Initialize(resolver);
        }
예제 #2
0
        public override void Initialize(IDependencyResolver resolver, HostContext context)
        {
            if (resolver == null)
            {
                throw new ArgumentNullException("resolver");
            }

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            _proxyGenerator  = resolver.Resolve <IJavaScriptProxyGenerator>();
            _manager         = resolver.Resolve <IHubManager>();
            _binder          = resolver.Resolve <IParameterResolver>();
            _requestParser   = resolver.Resolve <IHubRequestParser>();
            _pipelineInvoker = resolver.Resolve <IHubPipelineInvoker>();

            _counters = resolver.Resolve <IPerformanceCounterManager>();

            // Call base initializer before populating _hubs so the _jsonSerializer is initialized
            base.Initialize(resolver, context);

            // Populate _hubs
            string data = context.Request.QueryStringOrForm("connectionData");

            if (!String.IsNullOrEmpty(data))
            {
                var clientHubInfo = JsonSerializer.Parse <IEnumerable <ClientHubInfo> >(data);
                if (clientHubInfo != null)
                {
                    foreach (var hubInfo in clientHubInfo)
                    {
                        // Try to find the associated hub type
                        HubDescriptor hubDescriptor = _manager.EnsureHub(hubInfo.Name,
                                                                         _counters.ErrorsHubResolutionTotal,
                                                                         _counters.ErrorsHubResolutionPerSec,
                                                                         _counters.ErrorsAllTotal,
                                                                         _counters.ErrorsAllPerSec);

                        if (_pipelineInvoker.AuthorizeConnect(hubDescriptor, context.Request))
                        {
                            // Add this to the list of hub descriptors this connection is interested in
                            _hubs.Add(hubDescriptor);
                        }
                    }
                }
            }
        }
예제 #3
0
        public override void Initialize(IDependencyResolver resolver)
        {
            _proxyGenerator = resolver.Resolve <IJavaScriptProxyGenerator>();
            _manager        = resolver.Resolve <IHubManager>();
            _binder         = resolver.Resolve <IParameterResolver>();
            _requestParser  = resolver.Resolve <IHubRequestParser>();

            var counters = resolver.Resolve <IPerformanceCounterWriter>();

            _allErrorsTotalCounter            = counters.GetCounter(PerformanceCounters.ErrorsAllTotal);
            _allErrorsPerSecCounter           = counters.GetCounter(PerformanceCounters.ErrorsAllPerSec);
            _hubInvocationErrorsTotalCounter  = counters.GetCounter(PerformanceCounters.ErrorsHubInvocationTotal);
            _hubInvocationErrorsPerSecCounter = counters.GetCounter(PerformanceCounters.ErrorsHubInvocationPerSec);
            _hubResolutionErrorsTotalCounter  = counters.GetCounter(PerformanceCounters.ErrorsHubResolutionTotal);
            _hubResolutionErrorsPerSecCounter = counters.GetCounter(PerformanceCounters.ErrorsHubResolutionPerSec);

            base.Initialize(resolver);
        }
예제 #4
0
        public override void Initialize(IDependencyResolver resolver)
        {
            if (resolver == null)
            {
                throw new ArgumentNullException("resolver");
            }

            _proxyGenerator = _enableJavaScriptProxies ? resolver.Resolve <IJavaScriptProxyGenerator>()
                                                       : new EmptyJavaScriptProxyGenerator();

            _manager         = resolver.Resolve <IHubManager>();
            _binder          = resolver.Resolve <IParameterResolver>();
            _requestParser   = resolver.Resolve <IHubRequestParser>();
            _serializer      = resolver.Resolve <JsonSerializer>();
            _pipelineInvoker = resolver.Resolve <IHubPipelineInvoker>();
            _counters        = resolver.Resolve <IPerformanceCounterManager>();

            base.Initialize(resolver);
        }
예제 #5
0
        public override void Initialize(IServiceProvider serviceProvider)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            _proxyGenerator = _enableJavaScriptProxies ? serviceProvider.GetRequiredService <IJavaScriptProxyGenerator>()
                                                       : new EmptyJavaScriptProxyGenerator();

            _manager         = serviceProvider.GetRequiredService <IHubManager>();
            _binder          = serviceProvider.GetRequiredService <IParameterResolver>();
            _requestParser   = serviceProvider.GetRequiredService <IHubRequestParser>();
            _serializer      = serviceProvider.GetRequiredService <JsonSerializer>();
            _pipelineInvoker = serviceProvider.GetRequiredService <IHubPipelineInvoker>();
            _counters        = serviceProvider.GetRequiredService <IPerformanceCounterManager>();

            base.Initialize(serviceProvider);
        }