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

            routeBuilder.MapGrpcService <TService>(options =>
            {
                options.BindAction   = bindAction;
                options.ModelFactory = modelFactory;
            });

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

            _endpointDataSource.AddEndpoints(endpoints);
        }
        private void AddServiceCore(Action <ServiceMethodProviderContext <DynamicService> > action)
        {
            // Set action for adding dynamic method
            var serviceMethodProviders      = _serviceProvider.GetServices <IServiceMethodProvider <DynamicService> >().ToList();
            var dynamicServiceModelProvider = serviceMethodProviders.OfType <DynamicServiceModelProvider>().Single();

            dynamicServiceModelProvider.CreateMethod = action;

            // Add to dynamic endpoint route builder
            var routeBuilder = new DynamicEndpointRouteBuilder(_serviceProvider);

            routeBuilder.MapGrpcService <DynamicService>();

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

            _endpointDataSource.AddEndpoints(endpoints);
        }