Ejemplo n.º 1
0
        public DefaultSendRpcRequestWithTelemetryStrategy(
            Uri apiUrl,
            TimeSpan connectionTimeout,
            IHttpClientFactory httpClientFactory,
            ITelemetryConsumer telemetryConsumer)

            : base(apiUrl, connectionTimeout, httpClientFactory)
        {
            _telemetryConsumer = telemetryConsumer;
            _dependencyName    = apiUrl.Authority;
        }
Ejemplo n.º 2
0
        private static ITelemetryConsumer GetTelemetryConsumer(IServiceProvider serviceProvider, Type consumerType)
        {
            ITelemetryConsumer consumer = null;

            // first check whether it is registered in the container already
            consumer = (ITelemetryConsumer)serviceProvider.GetService(consumerType);
            if (consumer == null)
            {
                consumer = (ITelemetryConsumer)ActivatorUtilities.CreateInstance(serviceProvider, consumerType);
            }

            return(consumer);
        }
Ejemplo n.º 3
0
        private static ITelemetryConsumer GetTelemetryConsumer(IServiceProvider serviceProvider, Type consumerType, IReadOnlyDictionary <string, object> activationProperies)
        {
            ITelemetryConsumer consumer = null;

            if ((activationProperies?.Count ?? 0) == 0)
            {
                // first check whether it is registered in the container already
                consumer = (ITelemetryConsumer)serviceProvider.GetService(consumerType);
            }
            if (consumer == null)
            {
                consumer = (ITelemetryConsumer)ActivatorUtilities.CreateInstance(serviceProvider, consumerType, activationProperies?.Values?.ToArray() ?? new object[0]);
            }

            return(consumer);
        }