Esempio n. 1
0
        public static void UseHttpTraceActuator(IConfiguration configuration, IHttpTraceRepository traceRepository = null, ILoggerFactory loggerFactory = null)
        {
            var options = new HttpTraceEndpointOptions(configuration);

            _mgmtOptions.RegisterEndpointOptions(configuration, options);
            traceRepository = traceRepository ?? new HttpTraceDiagnosticObserver(options, CreateLogger <HttpTraceDiagnosticObserver>(loggerFactory));
            DiagnosticsManager.Instance.Observers.Add((IDiagnosticObserver)traceRepository);
            var ep      = new HttpTraceEndpoint(options, traceRepository, CreateLogger <HttpTraceEndpoint>(loggerFactory));
            var handler = new HttpTraceHandler(ep, SecurityServices, _mgmtOptions, CreateLogger <HttpTraceHandler>(loggerFactory));

            ConfiguredHandlers.Add(handler);
        }
Esempio n. 2
0
        /// <summary>创建客户端</summary>
        /// <returns></returns>
        protected virtual HttpClient CreateClient()
        {
            HttpMessageHandler handler = new HttpClientHandler {
                UseProxy = UseProxy
            };

            if (Tracer != null)
            {
                handler = new HttpTraceHandler(handler)
                {
                    Tracer = Tracer
                }
            }
            ;

            var client = new HttpClient(handler)
            {
                Timeout = TimeSpan.FromMilliseconds(Timeout)
            };

            return(client);
        }