private void AddServiceCore <TService>(Action <ServiceBinderBase, TService> bindAction, IGrpcMethodInvokerFactory <TService> invokerFactory)
            where TService : class
        {
            var routeBuilder = new DynamicEndpointRouteBuilder(_serviceProvider);

            routeBuilder.MapGrpcService <TService>(options =>
            {
                options.BindAction     = bindAction;
                options.InvokerFactory = invokerFactory;
            });

            var endpoints = routeBuilder.DataSources.SelectMany(ds => ds.Endpoints).ToList();

            _endpointDataSource.AddEndpoints(endpoints);
        }
 internal GrpcServiceBinder(IEndpointRouteBuilder builder, ServerCallHandlerFactory <TService> serverCallHandlerFactory, IGrpcMethodInvokerFactory <TService> serviceInvoker)
 {
     _builder = builder;
     _serverCallHandlerFactory = serverCallHandlerFactory;
     _serviceInvokerFactory    = serviceInvoker;
 }