コード例 #1
0
 public ProtocolProcessor(
     IJsonParser jsonParser,
     IHttpMetricFactory metricFactory,
     HttpRouteOptions routeOptions,
     ILogger logger)
 {
     this._jsonParser    = jsonParser;
     this._metricFactory = metricFactory;
     this._logger        = logger;
     this._routeOptions  = routeOptions;
 }
コード例 #2
0
 public ProtocolProcessor(
     IJsonParser jsonParser,
     IHttpMetricFactory metricFactory,
     HttpRouteOptions routeOptions,
     IEnumerable <IAdditionalHttpParser> parsers,
     RpcGatewayOptions gatewayOptions,
     ILogger logger)
 {
     this._jsonParser     = jsonParser;
     this._metricFactory  = metricFactory;
     this._logger         = logger;
     this._routeOptions   = routeOptions;
     this._parsers        = parsers;
     this._gatewayOptions = gatewayOptions;
 }
コード例 #3
0
        private static IServiceCollection ScanRouteOptions(this IServiceCollection services, string dllPrefix = "*"
                                                           , params string[] categories)
        {
            services.AddSingleton <IProtocolProcessor>(p =>
            {
                IJsonParser jsonParser           = p.GetRequiredService <IJsonParser>();
                ILogger logger                   = p.GetRequiredService <ILoggerFactory>().CreateLogger <IProtocolProcessor>();
                IHttpMetricFactory metricFactory = p.GetRequiredService <IHttpMetricFactory>();

                var scanner = p.GetRequiredService <IHttpServiceScanner>();
                var options = scanner.Scan(dllPrefix, categories);
                return(new ProtocolProcessor(jsonParser, metricFactory, options, logger));
            });

            return(services);
        }