public void AddClientStreamingMethod <TRequest, TResponse>( Method <TRequest, TResponse> method, IList <object> metadata, Func <TService, IAsyncStreamReader <TRequest>, ServerCallContext, Task <TResponse> > handler) where TRequest : class where TResponse : class { var invoker = new ClientStreamingServerCallHandler <TService, TRequest, TResponse>(_serviceFactory, handler); _builder.AddMethod(method, invoker.Handle); }
public void AddClientStreamingMethod <TRequestHeader, TRequest, TResponse>( Method <Message <TRequest>, TResponse> method, Func <MethodInfo> resolveContractMethodDefinition, Marshaller <TRequestHeader>?requestHeaderMarshaller, IList <object> metadata, Func <TService, TRequestHeader?, IAsyncEnumerable <TRequest>, ServerCallContext, Task <TResponse> > handler) where TRequestHeader : class where TResponse : class { var filterHandlerFactory = _filterRegistration.CreateHandlerFactory(metadata, resolveContractMethodDefinition); ValidateFilterFactoryConfiguration(filterHandlerFactory); var invoker = new ClientStreamingServerCallHandler <TService, TRequestHeader, TRequest, TResponse>( _serviceFactory, handler, requestHeaderMarshaller, filterHandlerFactory); _builder.AddMethod(method, invoker.Handle); }